Set upload limit per tracker
First of all, thank you for making your work public! Very interesting, will try it later on.
Is your feature request related to a problem? Please describe. Would it be possible to set upload limits per tracker? For example, set lower limit to public trackers and higher limit to private ones etc.
Describe the solution you'd like Support for defining multiple groups for trackers and setting upload limits on the groups.
Describe alternatives you've considered Nah.
Additional context ...
Might be tricky to do if it's being updated often. Say you had 500 torrents, the script would have to do 500 HTTP requests to the torrent client, just for that update.
If it's only a one time thing on startup, then it's possible.
Would the user enter tracker urls with what their speed should be in the config, and the script does it on startup? If so, then it's possible.
Might be tricky to do if it's being updated often. Say you had 500 torrents, the script would have to do 500 HTTP requests to the torrent client, just for that update.
Not necessarily according to API doc: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#set-torrent-upload-limit
hashes can contain multiple hashes separated by | or set to all limit is the upload speed limit in bytes per second you want to set.
If I read this correctly, it requires 1 HTTP request per tracker group to set the limit, assuming we collect all torrents form all trackers belonging to a specific group.
Would the user enter tracker urls with what their speed should be in the config, and the script does it on startup? If so, then it's possible.
Tracker url substring check or matching via tags might work. I have tags set up already with qbit_manage, but if we want to support this without extra piece of software, then matching parts of tracker url could work.
This is how I would imagine this:
config,yml:
tracker_groups:
- name: top_tier
limit: 5M
trackers:
- tag: TRACKER1_TAG
- tag: TRACKER2_TAG
- name: mid_tier
limit: 1M
trackers:
- tag: TRACKER3_TAG
- tag: TRACKER4_TAG
- name: low_tier
limit: 500K
trackers:
- url: tracker5
- url: tracker6.domain.tld
I obviously haven't done my research here 😅
I think having the limits as a percentage of the current upload speed would make more sense for the project. That way, every time the global speed limit changes, so will the torrents' individual limits as well.
What do you think?
Possibly, every so often, the program can also check for new torrents added, even if there hasn't been an update event, and then apply its limit.
I think having the limits as a percentage of the current upload speed would make more sense for the project. That way, every time the global speed limit changes, so will the torrents' individual limits as well.
You are correct! Percentage makes more sense than static limit 😄 just threw it there and didn't think any further.
Possibly, every so often, the program can also check for new torrents added, even if there hasn't been an update event, and then apply its limit.
Yes, good point. This could be called via API if we want to get fancy (currently I have qbittorrent send a HTTP request to cross-seed when a torrent completes) but honestly running this on scheduler is just fine.