Open username-password opened 6 years ago
I'd like this function myself. I'm limited by how much bandwidth I can use for qBittorrent and I always favour sharing torrents that have very few seeds, usually for a long period of time.
One way to implement this would be within the Torrent Queueing section, something like:
For uploads, prioritize these torrents: [checkbox] Number of seeds is below or equal to [textbox] [checkbox] Peer-to-seed ratio is above or equal to [textbox]
This would allow the torrent queueing module to passively prioritize torrents where demand is most needed, rather than having to implement a more complex, separate priority system.
I've been wanting this feature for decades. To be honest, I find it surprising none of the torrent clients seem to already have it. I'd think this would be a standard with default settings upon install as it has the potential of helping maintain low seeded torrents across the entire technology. And, it doesn't seem to me that this would be a complex add. Periodically, like every hour, it would check the seed count or peer-to-seed ratios of all torrents and re-prioritize.
libtorrent-rasterbar
already uses a sound logic to manage seeding queue. Click here to know more.
If qbittorrent
already uses unmodified libtorrent-rasterbar
, it may have been already implemented by default.
This issue should be closed if that's the case.
@arnabanimesh I looked at the code, and libtorrent does indeed seem to have a seeding priority system (when queueing is enabled), with torrents that are not seeded by anyone else ranked highest, and other torrents ranked according to their leechers-to-seeders ratio.
However, it does not prioritize "nonzero-but-still-low-seed" torrents. For example, a torrent with 100 seeders and 1000 leechers will get priority over a torrent with 1 seeder and 9 leechers.
Nonetheless, the ability to explicitly prioritize low-seed torrents would need to be implemented on the libtorrent side first.
when queueing is enabled
aah, so enable torrent queueing with 999999999 maximum active torrents or something more cpu-friendly like 200
libtorrent-rasterbar
already uses a sound logic to manage seeding queue. Click here to know more.
link is dead. current: libtorrent API Documentation # seeding queue
The seeding queue does not use
torrent_status::queue_position
to determine which torrent to seed. Instead, it estimates the demand for the torrent to be seeded. A torrent with few other seeds and many downloaders is assumed to have a higher demand of more seeds than one with many seeds and few downloaders.
Nonetheless, the ability to explicitly prioritize low-seed torrents would need to be implemented on the libtorrent side first.
So this should be an Issue on the libtorrent repo as well, then?
The idea behind this is to prevent torrents which lack seeds from dying instead of wasting bandwidth seeding torrents that have an excess number of seeds already. In my current setup qBittorrent is allocating most of its seeding bandwidth to a large number of popular torrents that arguably don't need any additional seeding, while a small number of torrents that are lacking seeds but have peers rarely show up in the upload slots and remain in a state of limbo. Note that this is not a connectivity problem. An option to prioritize torrents for seeding according to their seed counts in reverse order, either automatically in the background or through a hard limit option that lets the user specify to only seed torrents that have less than X number of seeds, could solve this problem.