# 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 ```ignore 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 ```norust 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 ```