BitComet 从 v2.09 开始提供 WebUI。官方 WebUI 使用 Vue、Vuetify 和 axios,通过 JSON API 与 BitComet 通信。第三方也可以实现自己的 WebUI,但应把这里的接口视为随 BitComet 版本演进的内部公开协议,而不是已有稳定版本承诺的 OpenAPI。
本文档依据 2026-08-11 的 BitComet 后端与官方 WebUI 源码整理。实现时应保留未知字段、检查 error_code,并对目标 BitComet 版本做实际兼容性测试。
安全要求: 第三方 WebUI 必须使用 HTTPS。登录报文中的加密只用于兼容认证协议,不能替代 TLS;不要把密码、
invite_token、device_token或文件访问密钥写入 URL、日志和错误上报。
一个可用的第三方 WebUI 至少需要:
client_id 与 device_token;/api_v2/task_list/get 展示任务;/api_v2/tasks/action 与 /api_v2/tasks/delete 操作任务;/api/config/new_task/get 和添加任务接口创建任务;/api/config/about/get 或响应中的 version 做版本识别。| 项目 | 约定 |
|---|---|
| API 请求 | 通常为 POST,请求体为 JSON |
| 内容类型 | Content-Type: application/json |
| 客户端标识 | Client-Type: BitComet WebUI |
| 登录后认证 | Authorization: Bearer <device_token> |
| Token 无效 | HTTP 401,通常返回 error_code: "INVALID_TOKEN" |
| 成功判断 | 读取每个接口的 error_code;历史接口存在 OK/ok 差异 |
| 版本信息 | 普通 JSON 响应通常包含 version、platform、file_size_prefix |
完整认证示例和字段说明见通用请求与认证。