3 unstable releases
0.2.0 | Jun 19, 2022 |
---|---|
0.1.1 | Feb 19, 2020 |
0.1.0 | Sep 22, 2019 |
#53 in #bittorrent
55KB
1K
SLoC
qbittorrent
This is an asynchronous api library for the popular bittorrent client qbittorrent.
Implementation
Features of this library are implemented as-needed. If you require certain methods create an issue or submit a pull request.
Example
use qbittorrent::Api;
#[tokio::main(flavor = "current_thread")]
async fn main() {
let username = "your webui username";
let password = "your webui username";
let address = "http://localhost:8080";
let api = Api::new(username, password, address).await.unwrap();
let global_speeds = api.get_global_transfer_info().await.unwrap();
println!("current download rate is at {} bytes / sec", global_speeds.dl_info_speed());
let torrent_list = api.get_torrent_list().await.unwrap();
println!("qbittorrent is managing {} torrents", torrent_list.len());
}
Progress
Authentication
✅ Login
❌ Logout
Application
❌ Get application version
❌ Get API version
❌ Get build info
❌ Shutdown application
❌ Get application preferences
❌ Set application preferences
❌ Get default save path
Log
❌ Get log
❌ Get peer log
Sync
✅ Get main data
Get torrent peers data
Transfer info
✅ Get global transfer info
✅ Get alternative speed limits state
✅ Toggle alternative speed limits
❌ Get global download limit
❌ Set global download limit
❌ Get global upload limit
❌ Set global upload limit
❌ Ban peers
Torrent management
✅ Get torrent list
✅ Get torrent generic properties
✅ Get torrent trackers
❌ Get torrent web seeds
✅ Get torrent contents
❌ Get torrent pieces' states
❌ Get torrent pieces' hashes
❌ Pause torrents
✅ Resume torrents
❌ Delete torrents
❌ Recheck torrents
❌ Reannounce torrents
❌ Edit trackers
❌ Remove trackers
❌ Add peers
✅ Add new torrent
❌ Add trackers to torrent
❌ Increase torrent priority
❌ Decrease torrent priority
❌ Maximal torrent priority
❌ Minimal torrent priority
❌ Set file priority
❌ Get torrent download limit
❌ Set torrent download limit
❌ Set torrent share limit
❌ Get torrent upload limit
❌ Set torrent upload limit
❌ Set torrent location
❌ Set torrent name
❌ Set torrent category
✅ Get all categories
❌ Add new category
❌ Edit category
❌ Remove categories
❌ Add torrent tags
❌ Remove torrent tags
❌ Get all tags
❌ Create tags
❌ Delete tags
❌ Set automatic torrent management
❌ Toggle sequential download
❌ Set first/last piece priority
❌ Set force start
❌ Set super seeding
RSS (experimental)
❌ Add folder
❌ Add feed
❌ Remove item
❌ Move item
❌ Get all items
❌ Set auto-downloading rule
❌ Rename auto-downloading rule
❌ Remove auto-downloading rule
❌ Get all auto-downloading rules
Search
❌ Start search
❌ Stop search
❌ Get search status
❌ Get search results
❌ Delete search
❌ Get search categories
❌ Get search plugins
❌ Install search plugin
❌ Uninstall search plugin
❌ Enable search plugin
❌ Update search plugins
Dependencies
~4–16MB
~239K SLoC