aria2 中文文档 下载 App

RPC 密钥鉴权:--rpc-secret 与 token 前缀

为什么必须设密钥

RPC 接口能往下载机里塞任意任务、读任意下载状态,无鉴权暴露在局域网或公网上等于开门揖盗。官方从 1.18.4 起提供方法级鉴权,并在文档中强烈建议配合 --rpc-secret 使用。

设置密钥

aria2c --enable-rpc --rpc-secret=一串长随机字符

密钥建议足够长且随机(口令生成器随手生成的 32 位字符串即可)。写进配置文件就是一行 rpc-secret=…,见配置模板。

调用时怎么带密钥

每个 RPC 方法调用的第一个参数写成 token:密钥:

aria2.addUri("token:一串长随机字符", ["下载直链"])

完整 JSON 请求体的例子见RPC 方法速查。就算服务端没设密钥,参数里带 token: 前缀的字符串也会被自动剥离,不会误伤。

免密钥的方法

system.listMethods(列出可用方法)与 system.listNotifications 不需要密钥——它们只报方法名、不改任何状态。

批量调用的规则

system.multicall 一次塞多个调用时,XML-RPC 规范只允许一个数组参数,所以外层不写 token,每个内层调用各自带 token:密钥 首参。

防爆破设计

官方文档说明:密钥校验被刻意设计成至少耗时一定长度,以缓解暴力猜测。因此高频操作建议合并成 Batch 或 system.multicall 一次发出去,减少逐条校验的开销。

前端里怎么填

AriaNg 等前端的连接设置里有"RPC 密钥"一栏,填的就是这串字符——前端会自动按 token: 规则封装,见图形前端。