Open somerandomcontrib opened 1 year ago
This change would allow to reseed the same torrent to different private trackers.
But doesn't this contradict the very essence of private torrents?
According to BEP_27:
When a BitTorrent client obtains a metainfo file containing the "private=1" key-value pair, it MUST ONLY announce itself to the private tracker, and MUST ONLY initiate connections to peers returned from the private tracker.
However, there is some another clause there:
When multiple trackers appear in the announce-list in the metainfo file of a private torrent, each peer MUST use only one tracker at a time and only switch between trackers when the current tracker fails. When switching between trackers, the peer MUST disconnect from all current peers and connect only to those provided from the new tracker.
So if libtorrent
supports such a limited multitracker feature with private torrents, then we could try to provide the possibility of merging trackers for private torrents.
@Chocobo1, @xavier2k6, @thalieht, what do you think?
@arvidn, could you participate?
@somerandomcontrib, at the moment you can manually add multiple announces from private trackers.
But doesn't this contradict the very essence of private torrents?
Probably yes, but if you're on multiple private trackers there is high chance you will find exactly the same file you have downloaded on the other tracker. If torrent slightly differs (for ex. different filenames) you can reseed the files without redownloading it using symbolic/hard link. In some cases torrent is exactly the same (only with different tracker URL) thus hash is exactly the same and when this happens qbitorrent won't let me allow another instance of this torrent.
What I'm asking is not the ability to merge trackers into private torrents but to have few instances of the same torrent with different trackers independent of each other.
to have few instances of the same torrent with different trackers independent of each other.
It is impossible.
What I'm asking is not the ability to merge trackers into private torrents but to have few instances of the same torrent with different trackers independent of each other.
You might want to look into this: https://www.reddit.com/r/qBittorrent/comments/93sepm/when_making_a_torrent_whats_the_source_line_for/
It was referring to the Source
field under Tools
-> Torrent Creator
.
@Chocobo1 Thanks I didn't know about this, but it still won't help me when downloading someone else's torrent. It's not as uncommon to have infohash collide between trackers. Especially in cases when torrent has only a single file.
I tested other BitTorrent clients behavior when adding private torrent with the same infohash: rTorrent: error uTorrent: error Deluge: trackers merged Transmission: error
I even tested the libtorrent-rasterbar's client_test example client and I also haven't been able to add 2 torrents with the same infohash. It looks like it's a libtorrent-rasterbar limitation rather than qBittorrent itself. Unfortunately there doesn't seem to be any client that would allow me to do this.
Right now I kinda solved it by just running another BitTorrent client alongside qBittorrent but it's annoying to have some torrents splitted between clients and also you need to forward second port for another client.
@somerandomcontrib, just add a second tracker manually.
just add a second tracker manually.
That won't work. If you add second tracker to a private torrent it won't even try to connect to it as long as the first tracker is working. It looks like qBittorrent is actually following BitTorrent specification @glassez quoted.
@somerandomcontrib, try checking both boxes
Sometime around 2017 or so, private trackers started editing all newly uploaded torrents to add a source
key in the info dict to prevent this issue. Before private trackers added this feature, it was common for the same files to be uploaded to multiple trackers hashed with the same piece size, causing the same infohash to be used across multiple private trackers. Most users often use multiple torrent clients on different ports to continue seeding these files (either using multiple dockerized qbittorrent clients, or other completely different GUI clients from other developers). Adding multiple private trackers to the same torrent wouldn't be correct as peers can't be mixed between private trackers, and the upload/download stats have to be recorded per tracker instead of mixed together.
Just for example.
I don't get what this means. I cross-seed RED and a few other trackers in qBit.
Just set source flag to different trackers in the torrent file.
to have few instances of the same torrent with different trackers independent of each other.
It is impossible.
It's already possible, I've been doing that for a long time.
Al you need to do is to write something in the source field of the torrent file.
to have few instances of the same torrent with different trackers independent of each other.
It is impossible.
It's already possible, I've been doing that for a long time.
Al you need to do is to write something in the source field of the torrent file.
If you mean source
field of info section
then modifying it produces different torrent (i.e. torrent that has different info hash
) although it distributes the same data.
Suggestion
Allow torrents with the same hash to be added to qBittorrent multiple times with different trackers.
Use case
This change would allow to reseed the same torrent to different private trackers.
Extra info/examples/attachments
Right now when you add private torrent with the same hash you're given the following error message:
BTW. If you're using WebUI there is no error message at all. The upload window just disappears.
The suggested action would be to ask a user if they want to add torrent with the same hash again or merge trackers with an existing torrent (only in case of a public torrent as is right now).