Help and Support
Ask a question, report a problem, request a feature...
<<  Back To Forum

Incomplete WebSeeding (BEP-0019) implementation

by notaLamer on 2020/04/20 04:20:07 AM    
Testing based on Public Domain material: https://archive.org/details/Commercials6Cereal
Standard: http://bittorrent.org/beps/bep_0019.html
In-depth implementation explanation example: http://www.getright.com/seedtorrent.html  (referred to by Internet Archive)

* Critical: Tixati does not support multiple files (folder-based) web seeds.
If the "url-list" URL ends in a slash, "/" the client must add the "name" from the torrent to make the full URL. This allows .torrent generators to treat this field same for single file and multi-file torrents.
If the URL is "http://example.com/files/" then Tixati should add torrent's embedded name to it to access files: "http://example.com/files/TORRENTNAME/DATAFILE.TXT"
Currently Tixati tries to access "http://example.com/files/DATAFILE.TXT" which is not compliant and returns 404. (Verified with Wireshark)

* Saving/exporting web seed torrents will break the folder seed URL:
Tixati dumps the url-list as-is, means that the next (naive) torrent client would try to append the name again and knock at the URL "http://example.com/files/TORRENTNAME/TORRENTNAME/<file>"
The same caveat to be mitigated when importing ill-implemented url-lists of web seeded torrents.
Just probing both URL variants (with and without ...TORRENTNAME/) with a steep exponential backoff is probably simplest.

* Retry sleep after failure is very short.
In some cases Tixati will retry the web seed only after 30s after last failure. The exponential backoff should be steeper.
The same issue is seen with regular peers re-polled too often. Especially under max connection limit restrictions (on stalled/dead torrents).

* HTTP request pieces are tiny leading to slow download / increased server load
Consistently: the pieces requested by Tixati via HTTP is 64K. That's smaller than the torrent's piece size of 512K! (also Wireshark and Tixati logs)


Thanks

PS: Tixati 2.72
For multi-file transfers, the URL must point to a location that contains a folder matching the transfer name.  So, if a multi-file transfer is named MyFileCollection, which is mirrored at http://example.com/public/howard/MyFileCollection, the correct web-seed URL would be http://example.com/public/howard/ , without the name of the transfer (this is added internally.)
From: https://support.tixati.com/webseed
Apparently this is broken.
by Guest on 2020/05/01 07:28:52 PM    
download v2.73. this issue has been fixed.

https://www.tixati.com/download/
by notaLamer on 2020/05/06 02:49:52 PM    
Thank you, I wanted to report back as soon as I've read the changelog. Unfortunately, due to the way it's implemented in Tixati it's still not 100% working:
If the URL is "http://example.com/files/" then Tixati should add torrent's embedded name to it to access files: "http://example.com/files/TORRENTNAME/DATAFILE.TXT"
I'm unusually precise in my wording here (all the philosophy classes corrupted me).
It's really about the embedded name in the torrent file/magnet link.

The web server has files located at GET /download/Commercials6Cereal/Commercials%206%20Cereal.m4v, where Commercials6Cereal is the name embedded in the .torrent meta-info.
Tixati, after I add the torrent and rename the transfer to TESTING_Commercials6Cereal, tries to get the files at GET /download/TESTING_Commercials6Cereal/Commercials%206%20Cereal.m4v which results in 404.

That's why I continued with all the URL and export proposals in my post, because it ain't trivial :)

I expected Tixati 2.73 to form a URL web-seed list upon import so it doesn't need to save the embedded name later on. (Example: add "http://archive.org/download/Commercials6Cereal/" to web-seed list and never touch the URL anymore at runtime, except to append the actual file name)
But that'd come with problems of breaking web-seed URLs when you export the transfer for sharing. E.g. The next client would get "http://archive.org/download/Commercials6Cereal/" as a web-seed URL AND add Tixati's custom transfer name, making it think the files are located at "http://archive.org/download/Commercials6Cereal/TESTING_Commercials6Cereal/"




This web site is powered by Super Simple Server