[wishlist] Feature proposal #1522

Closed
opened 2026-02-21 15:42:20 -05:00 by deekerman · 16 comments
Owner

Originally created by @prodigeni on GitHub (Jun 20, 2014).

  • Integrating systemd (as most of the distros moved to it) service on the both qt4 and nox packages for webui and daemon.
  • CLI/ncurses interface
  • A plugin/API system, with support on daemon, cli and webui
  • Detailed configuration and info on torrents.
  • Add Numeric prioritization to the current do not download, normal, high and maximum of files to support prioritization for torrents of more than 3 files.
  • Enabling piece view and piece forcing, block view and re-requesting of blocks
  • Separated (Tor and I2P aware) proxy settings for peer, webseed, tracker and DHT.
  • Add user proficiency mode with beginner, intermediate and advanced for settings and in-GUI options.

Thanks for your time and sorry for taking it.

Edited

Originally created by @prodigeni on GitHub (Jun 20, 2014). - [x] Integrating systemd (as most of the distros moved to it) service on the both qt4 and nox packages for webui and daemon. - [ ] CLI/ncurses interface - [ ] A plugin/API system, with support on daemon, cli and webui - [ ] Detailed configuration and info on torrents. - [ ] Add Numeric prioritization to the current do not download, normal, high and maximum of files to support prioritization for torrents of more than 3 files. - [ ] Enabling piece view and piece forcing, block view and re-requesting of blocks - [ ] Separated (Tor and I2P aware) proxy settings for peer, webseed, tracker and DHT. - [ ] Add user proficiency mode with beginner, intermediate and advanced for settings and in-GUI options. Thanks for your time and sorry for taking it. Edited
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

Making the client, the tracker and the webui available via (systemd) daemon, and a cli to control the daemon(not a dbus command script). Also making the GUI a client to daemon with a connection manager. (like deluge and transmission)

No. There is already a headless version named "nox" meaning "no X". The WebUI could use some fixing. Another user is working on that.

A good modular plugin system, with support on daemon, cli and webui (like vuze, deluge, ktorrent and kget)

I don't think we need plugins. The only plugins we need are the search plugin and it's system pretty good and documented.

Detailed configuration and info on each torrent and numeric prioritization of every file, piece and block. Thanks for your time and sorry for taking it.

Maybe we need some more info but not all of it. This screams bloat.

Separated Tor and I2P aware proxy settings. (like deluge)

Why? You still have to pass the settings in the proxy tab...

Current objectives for 3.2.0 = https://github.com/qbittorrent/qBittorrent/issues?direction=desc&milestone=14&page=1&sort=created&state=open

Closing since this isn't an actual bug report. You can continue commenting here if you want. OR ask if you want clarifications on items.

@sledgehammer999 commented on GitHub (Jun 20, 2014): > Making the client, the tracker and the webui available via (systemd) daemon, and a cli to control the daemon(not a dbus command script). Also making the GUI a client to daemon with a connection manager. (like deluge and transmission) No. There is already a headless version named "nox" meaning "no X". The WebUI could use some fixing. Another user is working on that. > A good modular plugin system, with support on daemon, cli and webui (like vuze, deluge, ktorrent and kget) I don't think we need plugins. The only plugins we need are the search plugin and it's system pretty good and documented. > Detailed configuration and info on each torrent and numeric prioritization of every file, piece and block. Thanks for your time and sorry for taking it. Maybe we need some more info but not all of it. This screams bloat. > Separated Tor and I2P aware proxy settings. (like deluge) Why? You still have to pass the settings in the proxy tab... Current objectives for 3.2.0 = https://github.com/qbittorrent/qBittorrent/issues?direction=desc&milestone=14&page=1&sort=created&state=open Closing since this isn't an actual bug report. You can continue commenting here if you want. OR ask if you want clarifications on items.
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

@sledgehammer999 Thanks for the response. From

Separated Tor and I2P aware proxy settings. (like deluge)

I meant

Separated (Tor and I2P) aware proxy settings for peer, webseed, tracker and DHT. (like deluge)

@prodigeni commented on GitHub (Jun 20, 2014): @sledgehammer999 Thanks for the response. From > Separated Tor and I2P aware proxy settings. (like deluge) I meant > Separated (Tor and I2P) aware proxy settings for peer, webseed, tracker and DHT. (like deluge)
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

@sledgehammer999 I'll soon edit the first post according to your comment. Please review it once more as I wrote the first one on my phone and it was a mess. I'd be happy if you reopen it with a wishlist label.

@prodigeni commented on GitHub (Jun 20, 2014): @sledgehammer999 I'll soon edit the first post according to your comment. Please review it once more as I wrote the first one on my phone and it was a mess. I'd be happy if you reopen it with a wishlist label.
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

(re-opening for the sake of discussion)

[ ] Integrating systemd (as most of the distros moved to it) service on the both qt4 and nox packages for webui and daemon.

There's already an item for this and a pull request. I intend to integrate it for the v3.2.0 release.

[ ] CLI/ncurses interface

Suprefluous. nox+webui are enough. However, you could build a ncurses frontend utilizing the webui API.

[ ] A plugin/API system, with support on daemon, cli and webui (like vuze, deluge, ktorrent and kget)

For what?

[ ] Detailed configuration and info on torrents.
[ ] Add Numeric prioritization to the current do not download, normal, high and maximum of files to support prioritization for torrents of more than 3 files.
[ ] Enabling piece view and piece forcing, block view and re-requesting of blocks

No this is bloat. We don't want to become azureus/vuze. Most of that features are unneeded anyway, even for power users. Piece/block view could be implemented though and I think there is already an item on that. And maybe some more torrent info wouldn't hurt.

[ ] Separated (Tor and I2P aware) proxy settings for peer, webseed, tracker and DHT.

Why would you need different settings for each one of these? It doesn't make sense.

@sledgehammer999 commented on GitHub (Jun 20, 2014): (re-opening for the sake of discussion) > [ ] Integrating systemd (as most of the distros moved to it) service on the both qt4 and nox packages for webui and daemon. There's already an item for this and a pull request. I intend to integrate it for the v3.2.0 release. > [ ] CLI/ncurses interface Suprefluous. nox+webui are enough. However, you could build a ncurses frontend utilizing the webui API. > [ ] A plugin/API system, with support on daemon, cli and webui (like vuze, deluge, ktorrent and kget) For what? > [ ] Detailed configuration and info on torrents. > [ ] Add Numeric prioritization to the current do not download, normal, high and maximum of files to support prioritization for torrents of more than 3 files. > [ ] Enabling piece view and piece forcing, block view and re-requesting of blocks No this is bloat. We don't want to become azureus/vuze. Most of that features are unneeded anyway, even for power users. Piece/block view could be implemented though and I think there is already an item on that. And maybe some more torrent info wouldn't hurt. > [ ] Separated (Tor and I2P aware) proxy settings for peer, webseed, tracker and DHT. Why would you need different settings for each one of these? It doesn't make sense.
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

[ ] Add Numeric prioritization to the current do not download, normal, high and maximum of files to support prioritization for torrents of more than 3 files.

Something I forgot about this. Even setting file A to low, file B to medium and file C to maximum doesn't guarantee that you will get C completed before the others. It just guarantees that qbittorrent will ask for the C pieces more aggressively than it asks for the B and A pieces. This means that it will always ask for A and B piece in addition to the C pieces. So if the C pieces aren't offered by many peers it will download the others first.
There is one setting that is useful here. right click->download in sequential order. This guarantees that it will first download file A, then B, then C etc.

@sledgehammer999 commented on GitHub (Jun 20, 2014): > [ ] Add Numeric prioritization to the current do not download, normal, high and maximum of files to support prioritization for torrents of more than 3 files. Something I forgot about this. Even setting file A to low, file B to medium and file C to maximum doesn't guarantee that you will get C completed before the others. It just guarantees that qbittorrent will ask for the C pieces more aggressively than it asks for the B and A pieces. This means that it will always ask for A and B piece in addition to the C pieces. So if the C pieces aren't offered by many peers it will download the others first. There is one setting that is useful here. right click->download in sequential order. This guarantees that it will first download file A, then B, then C etc.
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

PS: I edited multiple times my previous 2 posts. Now they are in their final form. You should re-read them.

@sledgehammer999 commented on GitHub (Jun 20, 2014): PS: I edited multiple times my previous 2 posts. Now they are in their final form. You should re-read them.
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

@sledgehammer999 Thanks for reopening the issue and your response.


  • First, on the Plugin/API part; There are changes and features that may be disturbing or unnecessary for some but productive for others, so these couldn't be merged into the master repo.

  • Second, on the numeric prioritization; I know the bt protocol and how prioritization works. Most of the torrent files are in a bad shape, take a creative commons web show of 35 episodes plus catalogues and multiple translated subtitles and audio-tracks, In most of the cases (non-scientific!) the torrent file has for example the first part of s03e18 in the first piece and the others like this are in a mess. So I could to use numeric prioritization to get the episodes in a sort. Even if files are in 4 folders as episodes, audio tracks, subtitles and catalogues, I should mark the non-English subtitles and audio-tracks as don't download. Then I should sort the audio track and subtitle and catalogue of each episode so first I get the episode, then the sub, then the audio track, and catalogue of the first episode then the second. This only could be done using numeric prioritization. Also it doesn't harm the swarm as much as sequential order.

  • Third, on separate proxy options; Proxies slow down the speed, So I could use proxies to obfuscate the traffic and have the normal speed. For example I require encryption so I could use peer with no proxy. Then there's web seed's that aren't encrypted, so I use my vpn proxy or Tor or i2p with them. Then I use Tor for the tracker to remain safe and use i2p for incoming DHT connections.

Thanks for your time, and sorry for taking it.

Edited

@prodigeni commented on GitHub (Jun 20, 2014): @sledgehammer999 Thanks for reopening the issue and your response. --- - First, on the Plugin/API part; There are changes and features that may be disturbing or unnecessary for some but productive for others, so these couldn't be merged into the master repo. # - Second, on the numeric prioritization; I know the bt protocol and how prioritization works. Most of the torrent files are in a bad shape, take a creative commons web show of 35 episodes plus catalogues and multiple translated subtitles and audio-tracks, In most of the cases (non-scientific!) the torrent file has for example the first part of s03e18 in the first piece and the others like this are in a mess. So I could to use numeric prioritization to get the episodes in a sort. Even if files are in 4 folders as episodes, audio tracks, subtitles and catalogues, I should mark the non-English subtitles and audio-tracks as don't download. Then I should sort the audio track and subtitle and catalogue of each episode so first I get the episode, then the sub, then the audio track, and catalogue of the first episode then the second. This only could be done using numeric prioritization. Also it doesn't harm the swarm as much as sequential order. # - Third, on separate proxy options; Proxies slow down the speed, So I could use proxies to obfuscate the traffic and have the normal speed. For example I require encryption so I could use peer with no proxy. Then there's web seed's that aren't encrypted, so I use my vpn proxy or Tor or i2p with them. Then I use Tor for the tracker to remain safe and use i2p for incoming DHT connections. --- Thanks for your time, and sorry for taking it. Edited
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

Ok I understand your use case but it seems to me that isn't as widespread as you claim and by implementing such a feature may alienate some non-power users of qbt. Why wouldn't you just mark as "max" prio the ep+audio+subs you want?

@sledgehammer999 commented on GitHub (Jun 20, 2014): Ok I understand your use case but it seems to me that isn't as widespread as you claim and by implementing such a feature may alienate some non-power users of qbt. Why wouldn't you just mark as "max" prio the ep+audio+subs you want?
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

By preserving the current options and adding "Numeric..." and "Numeric - Auto Decreasing" after a separator.(and maybe a advanced/poweruser label).
Also I can't use max for 30ep+30audio+30subs, it will do the same job as no prioritization. I want to get the first episode then it's sub, audio, catalogue then the second episode and it's misc files.
Edited

@prodigeni commented on GitHub (Jun 20, 2014): By preserving the current options and adding "Numeric..." and "Numeric - Auto Decreasing" after a separator.(and maybe a advanced/poweruser label). Also I can't use max for 30ep+30audio+30subs, it will do the same job as no prioritization. I want to get the first episode then it's sub, audio, catalogue then the second episode and it's misc files. Edited
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

Add user proficiency mode with beginner, intermediate and advanced for settings and in-GUI options. So you don't alienate users with any skill-tone.

@prodigeni commented on GitHub (Jun 20, 2014): Add user proficiency mode with beginner, intermediate and advanced for settings and in-GUI options. So you don't alienate users with any skill-tone.
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

On separate proxy options; Proxies slow down the speed, So I could use different proxies to obfuscate the traffic more than before and have the normal speed. For example I require encryption so I could use peer with no proxy. Then there's web seed's that aren't encrypted, so I use my vpn proxy or Tor or i2p with them. Then I use Tor for the tracker to remain safe and use i2p for incoming DHT connections.

@prodigeni commented on GitHub (Jun 20, 2014): On separate proxy options; Proxies slow down the speed, So I could use different proxies to obfuscate the traffic more than before and have the normal speed. For example I require encryption so I could use peer with no proxy. Then there's web seed's that aren't encrypted, so I use my vpn proxy or Tor or i2p with them. Then I use Tor for the tracker to remain safe and use i2p for incoming DHT connections.
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

I edited my previous comments and marked them with Edited.

@prodigeni commented on GitHub (Jun 20, 2014): I edited my previous comments and marked them with Edited.
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

A question,I know that you support building against qt5, so, when will you remove support for qt4 and completely move the resources and build defaults to qt5?

@prodigeni commented on GitHub (Jun 20, 2014): A question,I know that you support building against qt5, so, when will you remove support for qt4 and completely move the resources and build defaults to qt5?
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

By preserving the current options and adding "Numeric..." and "Numeric - Auto Decreasing" after a separator.(and maybe a advanced/poweruser label).
Also I can't use max for 30ep+30audio+30subs, it will do the same job as no prioritization. I want to get the first episode then it's sub, audio, catalogue then the second episode and it's misc files.

Let's just say that I'll think about this. Not high prio for me though. You should open a separate issue for this. If you can attach a screenshot from other bt client that has this functionality it could help.

Add user proficiency mode with beginner, intermediate and advanced for settings and in-GUI options. So you don't alienate users with any skill-tone.

No. I don't want to become KDE (with a flood of options) nor GNOME (with lack of options). I just want to give sensible options to the end user.

On separate proxy options; Proxies slow down the speed, So I could use different proxies to obfuscate the traffic more than before and have the normal speed. For example I require encryption so I could use peer with no proxy. Then there's web seed's that aren't encrypted, so I use my vpn proxy or Tor or i2p with them. Then I use Tor for the tracker to remain safe and use i2p for incoming DHT connections.

I don't think this warrants separate settings. However I looked at the libtorrent API and there doesn't seem to be a way to define proxies for the webseeds. It just supports general proxy settings and i2p settings. I could add the i2p settings in the gui. Open a separate issue for this.

A question,I know that you support building against qt5, so, when will you remove support for qt4 and completely move the resources and build defaults to qt5?

When qt5 use becomes widespread enough.

If you want further discussion open a thread in the forums where other frequent members can share their views too. Those members don't frequent the bug tracker much. And this is a bug tracker not a place of big discussions.

@sledgehammer999 commented on GitHub (Jun 20, 2014): > By preserving the current options and adding "Numeric..." and "Numeric - Auto Decreasing" after a separator.(and maybe a advanced/poweruser label). > Also I can't use max for 30ep+30audio+30subs, it will do the same job as no prioritization. I want to get the first episode then it's sub, audio, catalogue then the second episode and it's misc files. Let's just say that I'll think about this. Not high prio for me though. You should open a separate issue for this. If you can attach a screenshot from other bt client that has this functionality it could help. > Add user proficiency mode with beginner, intermediate and advanced for settings and in-GUI options. So you don't alienate users with any skill-tone. No. I don't want to become KDE (with a flood of options) nor GNOME (with lack of options). I just want to give sensible options to the end user. > On separate proxy options; Proxies slow down the speed, So I could use different proxies to obfuscate the traffic more than before and have the normal speed. For example I require encryption so I could use peer with no proxy. Then there's web seed's that aren't encrypted, so I use my vpn proxy or Tor or i2p with them. Then I use Tor for the tracker to remain safe and use i2p for incoming DHT connections. I don't think this warrants separate settings. However I looked at the libtorrent API and there doesn't seem to be a way to define proxies for the webseeds. It just supports general proxy settings and i2p settings. I could add the i2p settings in the gui. Open a separate issue for this. > A question,I know that you support building against qt5, so, when will you remove support for qt4 and completely move the resources and build defaults to qt5? When qt5 use becomes widespread enough. If you want further discussion open a thread in the forums where other frequent members can share their views too. Those members don't frequent the bug tracker much. And this is a bug tracker not a place of big discussions.
Author
Owner

@sledgehammer999 commented on GitHub (Jun 20, 2014):

PS: I might sound rough/tough/whatever but I am very open in contributions. If you choose to implement something that is on the bug tracker I will almost certainly accept your patches. (unless they are crap ofcourse :D )

@sledgehammer999 commented on GitHub (Jun 20, 2014): PS: I might sound rough/tough/whatever but I am very open in contributions. If you choose to implement something that is on the bug tracker I will almost certainly accept your patches. (unless they are crap ofcourse :D )
Author
Owner

@prodigeni commented on GitHub (Jun 20, 2014):

@sledgehammer999 Thanks, tomorrow I'll issue them separately. I post the screenshots here and in the issues. The proxy settings is form deluge, which uses the same library as you (libtorrent-rasterbar) so it is possible. Others are from vuze. I'll happily contribute code, hopefully after (if) I pass my finals. Once more sorry for the trouble. :)
prio
prio1
prox
prox1
prox2
prox3
prox4
prox5
prox6
prox7
prox8
up
up1
up2

@prodigeni commented on GitHub (Jun 20, 2014): @sledgehammer999 Thanks, tomorrow I'll issue them separately. I post the screenshots here and in the issues. The proxy settings is form deluge, which uses the same library as you (libtorrent-rasterbar) so it is possible. Others are from vuze. I'll happily contribute code, hopefully after (if) I pass my finals. Once more sorry for the trouble. :) ![prio](https://cloud.githubusercontent.com/assets/1476070/3345677/fdbf9b94-f8bb-11e3-8043-f42a0afef148.png) ![prio1](https://cloud.githubusercontent.com/assets/1476070/3345678/fdd7820e-f8bb-11e3-8e34-e3fc31959bf3.png) ![prox](https://cloud.githubusercontent.com/assets/1476070/3345680/fe084416-f8bb-11e3-9114-2b446a26135e.png) ![prox1](https://cloud.githubusercontent.com/assets/1476070/3345679/fde562de-f8bb-11e3-9dbc-20bbedf31e1f.png) ![prox2](https://cloud.githubusercontent.com/assets/1476070/3345676/fdaff50e-f8bb-11e3-8681-f128be28a551.png) ![prox3](https://cloud.githubusercontent.com/assets/1476070/3345681/fec1efce-f8bb-11e3-9cfe-87ec36ae10bf.png) ![prox4](https://cloud.githubusercontent.com/assets/1476070/3345683/ff983138-f8bb-11e3-92aa-0234b7175f1b.png) ![prox5](https://cloud.githubusercontent.com/assets/1476070/3345686/ffc67804-f8bb-11e3-9711-c126dcda996c.png) ![prox6](https://cloud.githubusercontent.com/assets/1476070/3345685/ffc59d9e-f8bb-11e3-96a6-eb7f418d33d2.png) ![prox7](https://cloud.githubusercontent.com/assets/1476070/3345684/ffc53e08-f8bb-11e3-8b1a-2f0acb79b61e.png) ![prox8](https://cloud.githubusercontent.com/assets/1476070/3345688/ffe55b02-f8bb-11e3-86e6-0ff935290b6e.png) ![up](https://cloud.githubusercontent.com/assets/1476070/3345687/ffe45da6-f8bb-11e3-902e-114e7bacb318.png) ![up1](https://cloud.githubusercontent.com/assets/1476070/3345690/004f8d60-f8bc-11e3-9c0d-62e3b62e1f5b.png) ![up2](https://cloud.githubusercontent.com/assets/1476070/3345691/00df2ace-f8bc-11e3-84ec-d4f42912e4c9.png)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#1522
No description provided.