15 releases
new 0.4.6 | Oct 29, 2024 |
---|---|
0.4.4 | Sep 14, 2024 |
0.4.3 | Jul 3, 2024 |
0.4.1 | Nov 29, 2023 |
0.3.6 | May 29, 2023 |
#432 in Network programming
359 downloads per month
115KB
2.5K
SLoC
Qbit-rs
A Rust library for interacting with qBittorrent's Web API.
Implemented according to WebUI API (qBittorrent 4.1).
Usage
Add dependency by running:
cargo add qbit-rs
or manually add to Cargo.toml
:
[dependencies]
qbit-rs = "0.4"
Then use it in your code:
use qbit_rs::Qbit;
use qbit_rs::model::Credential;
let credential = Credential::new("username", "password");
let api = Qbit::new("http://my-qb-instance.domain", credential);
let torrents = api.get_version().await;
or use the builder pattern:
use qbit_rs::Qbit;
let api = Qbit::builder()
.endpoint("http://my-qb-instance.domain")
.cookie("SID=1234567890")
.build();
let torrents = api.get_version().await;
For more methods, see Qbit
.
API Coverage
Most of the API is covered, except RSS
and Search
. PR is welcomed if you need that part of the API. The following is a list of the implementation status:
- Authentication
- Application
- Log
- Sync
- Transfer info
- 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
- Add new torrent
- Pause torrents
- Resume torrents
- Delete torrents
- Recheck torrents
- Reannounce torrents
- Edit trackers
- Remove trackers
- Add peers
- 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
- Rename file
- Rename folder
- RSS (experimental)
- Add folder
- Add feed
- Remove item
- Move item
- Get all items
- Mark as read
- Refresh item
- Set auto-downloading rule
- Rename auto-downloading rule
- Remove auto-downloading rule
- Get all auto-downloading rules
- Get all articles matching a rule
- Search
- Start search
- Stop search
- Get search status
- Get search results
- Delete search
- Get search plugins
- Install search plugin
- Uninstall search plugin
- Enable search plugin
- Update search plugins
- Undocumented
- Export torrent[^1]
[^1]: The endpoint is added in this PR
Dependencies
~6–21MB
~333K SLoC