3个不稳定版本

0.2.0 2023年11月29日
0.1.1 2023年11月20日
0.1.0 2023年7月18日

#664 in 异步

每月21次下载

MIT/Apache

170KB
4.5K SLoC

qbit-api-rs

GitHub release (release name instead of tag name) Rust docs.rs Static Badge GitHub Repo stars

qBittorrent Web API (适用于4.1以上版本)的异步Rust封装

使用方法

添加依赖项

[dependencies]
qbit-api-rs = "0.1"

或者

cargo add qbit-api-rs

快速入门

use qbit_api_rs::client::QbitClient;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // initialize client with given username and password
    let client = QbitClient::new_with_user_pwd("http://hostname:port", "admin", "adminadmin").unwrap();
    // or from environment variable
    // QBIT_HOST, QBIT_USERNAME, QBIT_PASSWORD must be set
    let client = QbitClient::new_from_env().unwrap();

    // login first
    client.auth_login().await?;

    // call api methods
    println!("{}", client.app_version().await?);

    //...
    Ok(())
}

更多使用方法,请参阅示例

注意

  • 此crate仅提供纯API绑定。没有像令牌过期时重新认证这样的机制。

  • qBitTorrent使用cookie进行认证。所需SID令牌存储在cookie中,一段时间后(默认3600秒)将过期。此过期时间可以在Options -> WebUI -> Authentication -> Session timeout中配置。要使SID令牌有效,您可以选择

    • 在超时期间定期调用登录方法以重新认证。
    • 或者只启用Bypass authentication for clients in whitelisted IP subnets并为您的IP子网配置,然后您就不再需要调用登录方法。
  • 对于4.6.1以上版本,默认凭据不是admin:adminadmin。您必须设置自己的凭据,否则qBittorrent将生成一个随机的凭据。有关更多详细信息,请参阅发行说明

  • 此crate处于开发初期。将来可能会出现问题。

支持的API

认证

  • 登录
  • 登出

应用

  • 获取应用版本
  • 获取API版本
  • 获取构建信息
  • 关闭应用
  • 获取应用首选项
  • 设置应用首选项
  • 获取默认保存路径

日志

  • 获取日志
  • 获取对等日志

同步

  • 获取主数据
  • 获取种子对等数据

传输信息

  • 获取全局传输信息
  • 获取替代速度限制状态
  • 切换替代速度限制
  • 获取全局下载限制
  • 设置全局下载限制
  • 获取全局上传限制
  • 设置全局上传限制
  • 禁止对等

种子管理

  • 获取种子列表
  • 获取种子通用属性
  • 获取种子追踪器
  • 获取种子网站种子
  • 获取种子内容
  • 获取种子块状态
  • 获取种子块哈希
  • 暂停种子
  • 恢复种子
  • 删除种子
  • 重新检查种子
  • 重新公告种子
  • 编辑追踪器
  • 移除追踪器
  • 添加节点
  • 添加新种子
  • 将追踪器添加到种子
  • 提高种子优先级
  • 降低种子优先级
  • 最大种子优先级
  • 最小种子优先级
  • 设置文件优先级
  • 获取种子下载限制
  • 设置种子下载限制
  • 设置种子分享限制
  • 获取种子上传限制
  • 设置种子上传限制
  • 设置种子位置
  • 设置种子名称
  • 设置种子类别
  • 获取所有类别
  • 添加新类别
  • 编辑类别
  • 移除类别
  • 添加种子标签
  • 移除种子标签
  • 获取所有标签
  • 创建标签
  • 删除标签
  • 设置自动种子管理
  • 切换顺序下载
  • 设置首/末块优先级
  • 设置强制启动
  • 设置超级种子的
  • 重命名文件
  • 重命名文件夹

RSS(实验性)

  • 添加文件夹
  • 添加源
  • 移除项目
  • 移动项目
  • 获取所有项目
  • 标记为已读
  • 刷新项目
  • 设置自动下载规则
  • 重命名自动下载规则
  • 移除自动下载规则
  • 获取所有自动下载规则
  • 获取所有符合规则的文章
  • 开始搜索
  • 停止搜索
  • 获取搜索状态
  • 获取搜索结果
  • 删除搜索
  • 获取搜索插件
  • 安装搜索插件
  • 卸载搜索插件
  • 启用搜索插件
  • 更新搜索插件

许可

根据以下之一授权

贡献

除非你明确指出,否则根据 Apache-2.0 许可证定义的,任何有意提交以包含在此包中的贡献,都将根据上述方式双重许可,不附加任何额外的条款或条件。

依赖关系

~8–23MB
~320K SLoC