3 unstable releases

0.2.0 Jun 19, 2022
0.1.1 Feb 19, 2020
0.1.0 Sep 22, 2019

#1044 in Web programming

35 downloads per month

MIT license

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

~5–19MB
~283K SLoC