lgallard / qbittorrent-controller Goto Github PK
View Code? Open in Web Editor NEWqBittorrent Controller - An Android app for controlling qBittorrent servers
License: MIT License
qBittorrent Controller - An Android app for controlling qBittorrent servers
License: MIT License
Like the name suggests. An option for a notification upon completion of a torrent would add to the "completeness" of the app. I say "option" because someone is going to go nuts when their screen on time goes from 5 hours to 4:55.
When showing files and tracker the listview is shortened due to miscalculation of items' height.
Add filter in query torrent list: all, downloading, completed, paused, active, inactive
It could be awesome to have way of filter the content client side with some kind of pattern matching or a full blown regex engine, therefore the download automatically feature on the feed will become more useful.
Implement a way for schedule the use of alternative rate limits
Add "Download in sequential order" for qB 3.2.x
In table version the swipe refresh is not shown and is not working when swiping the screen
Currently while deleting a torrent file from the controller, it does not ask for a confirmation whether i would like to delete the data file along with the torrent file. Instead it simply deletes the torrent file from the qBitTorrent database leaving the downloaded file as it is. The Web-interface however has a tick-box in the confirmation dialogue box, which is unticked by default.
I think the controller should also provide this option.
Add total for upload and download values
This app was proposed for fdroid inclusion. FDroid is a "store"/repository that only includes free/libre/opensource software that got build from source. Since play-services is proprietary, we cannot build it. So, are play-services a required/hard dependency or can they easly be stripped without breaking the app?
Add Russian translation available at Transifex https://www.transifex.com/projects/p/qbittorrent-client/language/ru/
When opening from a completed notification it shows the COmpleted torrents list but has set the last state in title and menu selection
Add sort (string): sort torrents by given key
Check crash with navigationDrawerItemTitles or ic_drawer_* files on some devices
Fix Files/Trackers high value
Add “Download first and last pieces first" for qB 3.2.x
Improve the Alternative rate limits in Options
Implement a switch / toggle or fast button to enable/disable alternative rate limits in qBittorrent 3.2.x
Add local and remote server options, so it switch to local profile when at home wireless and switch to remote profile when not at home. I know we can make profiles and switch between but then we will lose notifications, and should always switch profiles
I'm using nginx configured as reverse proxy from domain to port on localhost.
The problem is that I'm unable to connect throught this client breacause it do not send the domain to the server.
Here are the requests log from your client to nginx:
11.22.33.44 - - [27/Apr/2015:22:30:14 +0200] "GET json/torrents HTTP/1.1" 400 166 "-" "-"
Here are the correct requests log from my browser using the web interface:
11.22.33.44 - - [27/Apr/2015:22:31:57 +0200] "GET /json/torrents?i90cabsg HTTP/1.1" 200 2080 "http://mydomain.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
Problem:
java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder
at android.support.v7.widget.ActionMenuView.getMenu(ActionMenuView.java:622)
Some Android ROMs (like qmobile Noir X25) raise this error when launching the app. It's a issue related to appcompat-v7 v21.0.0 and the way some devices import some classes as explained here https://code.google.com/p/android/issues/detail?id=78377
David Devenport: One other thing that would be great is a prompt to send a magnet or torrent URL to a specific server. Right now if I click on either link it'll default to the last server viewed. It'd be nice for a prompt that basically said "which server should this go to?" Thanks for all your hard work.
Simplify Notifications, Refresh period and such, in Settings
Add Recheck option per torrent
Hi
For some reason I am member of a site that uses ;
in the query string, which results in qbittorrent controller truncated everything from that semi colon
site.con/rss?download;7;u=2305860;tp=0
When I add this as an rss feed I get an error that it couldn't download the feed and the url is changed to
site.com/rss?download
It probably works if I url encode the semi colons myself, but haven't tried it yet.
Calidude at qBittorrent forum suggested a dark theme
I realise that people get confused when having a lot of options to set in the app settings, therefore a way to overcome this is by showing just the basic parameters:
And the remaining options should be handle in another "advanced" window.
Change refreshing behavior (fragment refreshing) for tablets
On the app settings, there is an field for choosing the qBittorrent server version to use. I realize that people tends to skip this step, so I'm going to implement an auto detect qBittorrent version function when changing the app settings and save it accordingly.
On startup, the last state saved in preferences is used. When torrents are refreshed it shows the current state, but It should ask for the current state using the API command at startup.
Align headerinfo in tablet versions
Improve Options to show current values when loaded
In torrent details view, there should be a option to change file priority, so you can define what files to download first
Include RSS reader / downloader
To involve people to contribute with ideas or encourage them to report issues, there should be a link in Help menu.
Include "Sort by Added on" and in "Sort by Completed on" among sorting options
In "Options" add a way to switch form alternative and global download speeds
Fix “no listing queued torrents on Inactive listing”
There is a glitch loading the app (if it was already open). It looks like that it tries to sync with the server and spinning circle/text persists. When going into the Recents screen and swipe the app away, it is fine when is restarted.
Please tag your latest releases, this helps F-Droid autodetect new releases of your software.
Thanks...
Hey,
Love the app. However, there is one small thing I feel the need to point out. On my phone, if you want to change the queue order (priority) of a torrent, it involves clicking on the name of a torrent, going to the overflow menu and then finding the Increase/Decrease priority button. You're then brought to the torrent list screen by the app and have to repeat the process.
Thing is, this becomes a hassle if you're running any borderline substantial number of torrents (imagine doing this ~15 times).
You obviously have UI concerns; so may I recommend the addition of "Move to Top / Bottom" buttons somewhere? That'll save you from adding Increase / Decrease priority buttons on the list screen (which IMHO, is more correct).
Other small things (I can create separate issues for these if you wish):
Thanks. :)
How to get your ip on Windows, Linux and Mac
The reduce interval should have an option to be lower than 30s. Given the increments already present, how about something like an option for 2 / 5 seconds?
Related: The "refreshing" message should have an option to be disabled unless the manual refresh button is clicked on. This makes sense because if:
a) The refresh interval is small, it'll just be present on the screen all the time.
b) The refresh interval is large, it serves very little purpose because the implication is that someone is just staring at their phone / tablet screen waiting to get that little bit of data. Anyone who uses a large refresh interval will most likely end up using the manual refresh button when they fire up the app as it is.
Completed torrents notification not working on qBittorrent < 3.2.x.
Please, do create a way so if you are mentioned and you have no clients connected to the server, your phone (and/or other android device) receives a push notification, so you can open the app and read/reply, without killing your phone keeping the app open all day long
Support for qBittorrent 3.2.x
Newer relases of qBittorent server has a different way to connect, and new features.
Running a security scan against the source code of this project has shown that the HTTPS used in this application has been manually overiden. Using HTTPS increases the security of credentials transmitted between the device and server as well as guaranteeing there is no middle-man attacker feeding malicious data to the user. Guides to properly implementing HTTPS can be found here: https://developer.android.com/training/articles/security-ssl.html
/qBittorrentClient/src/com/lgallardo/qbittorrentclient/JSONParser.java:485: AllowAllHostnameVerifier used, this is not a secure connection
/qBittorrentClient/src/com/lgallardo/qbittorrentclient/JSONParser.java:485: Custom HostnameVerifier used; this is not safe for production use
/qBittorrentClient/src/com/lgallardo/qbittorrentclient/MySSLSocketFactory.java:35: Custom trust manager used. Remove from production
Would be good to have a serach bar at the top with a persistent search filter. The torrent refresh rate should happen in the background, but should not clear the search filter
This issue have been reported from Google Play Developer Console:
java.lang.NumberFormatException: Invalid float: "∞"
at java.lang.StringToReal.invalidReal(StringToReal.java:63)
at java.lang.StringToReal.initialParse(StringToReal.java:164)
at java.lang.StringToReal.parseFloat(StringToReal.java:323)
at java.lang.Float.parseFloat(Float.java:306)
at com.lgallardo.qbittorrentclient.TorrentRatioComparator.compare(TorrentRatioComparator.java:29)
at com.lgallardo.qbittorrentclient.TorrentRatioComparator.compare(TorrentRatioComparator.java:15)
at java.util.TimSort.binarySort(TimSort.java:261)
at java.util.TimSort.sort(TimSort.java:186)
at java.util.TimSort.sort(TimSort.java:169)
at java.util.Arrays.sort(Arrays.java:2010)
at java.util.Collections.sort(Collections.java:1883)
at com.lgallardo.qbittorrentclient.MainActivity$qBittorrentTask.onPostExecute(MainActivity.java:2963)
at com.lgallardo.qbittorrentclient.MainActivity$qBittorrentTask.onPostExecute(MainActivity.java:2728)
at android.os.AsyncTask.finish(AsyncTask.java:636)
at android.os.AsyncTask.access$500(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5725)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1030)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:825)
How to set up the application
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.