fluxdown 中文文档 下载 App

FluxDown aria2 RPC 兼容层 — 现有 aria2 工具零改动对接

为什么做 aria2 兼容

aria2 是下载界的「标准协议」——大量现成工具(AriaNg、yaaw、Aria2-GUI、IDM 的 aria2 后端、各种网盘 aria2 离线脚本、甚至迅雷离线 aria2 输出)都用 aria2.addUri / aria2.addTorrent 这套 JSON-RPC 接口。如果 FluxDown 不兼容,这些工具链在 FluxDown 上都跑不通。

FluxDown 在 17800 端口的 /jsonrpc 路由上完整实现了 aria2 的 JSON-RPC 2.0 接口——所有现有 aria2 客户端零改动就能对接。

基本用法

aria2 RPC 的认证是 token 机制(不是 Bearer):

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "aria2.addUri",
  "params": ["token:<access_key>", ["https://example.com/file.zip"]]
}

对应 curl:

curl -X POST http://127.0.0.1:17800/jsonrpc \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "aria2.addUri",
    "params": ["token:'"$TOKEN"'", ["https://example.com/file.zip"]]
  }'

支持的 aria2 方法

FluxDown 覆盖了 aria2 客户端最常用的方法:

aria2 方法对应 FluxDown 功能
aria2.addUri加 HTTP/FTP/BT(磁力) 任务
aria2.addTorrent加种子文件任务
aria2.pause / aria2.resume暂停/恢复任务
aria2.remove移除任务
aria2.tellStatus查任务状态
aria2.getGlobalStat查全局速度、活跃数
aria2.purgeDownloadResult清理已完成/失败任务
aria2.changeGlobalOption改全局设置
aria2.getSessionInfo会话信息

和官方 REST API 的关系

维度aria2 兼容层官方 REST API
设计目的兼容 aria2 生态FluxDown 自身完整管理
覆盖范围aria2 客户端常用方法FluxDown 全部功能(队列/RSS/Webhook 等)
认证params[0] = "token:<key>"Authorization: Bearer header
新特性不会覆盖 FluxDown 独有功能有
迁移成本零(现有 aria2 工具直接用)需要改脚本

典型对接场景

AriaNg(Web UI)

  1. 打开 AriaNg 设置 → RPC。
  2. JSON-RPC Path 填 /jsonrpc。
  3. Secret 填 FluxDown 的 Access Key(不带 "token:" 前缀)。
  4. 地址 http://127.0.0.1:17800 → 连接。

网盘 aria2 离线下载脚本

很多网盘(阿里、夸克、115)的「离线下载」支持把任务投给 aria2 RPC——把 RPC 地址从默认的 127.0.0.1:6800 改成 FluxDown 的 127.0.0.1:17800 就行。

aria2c 命令行

aria2c 有一个 --enable-rpc 模式,但如果你已经在跑 FluxDown,直接让 aria2c 连接 FluxDown 的 RPC 端口:

aria2c --rpc-addr=127.0.0.1:17800 --rpc-secret=<token> --uri=https://...

注意:aria2c 自己的下载引擎不会启动——它只是作为一个 RPC 客户端把任务发给 FluxDown。

已知的不完全兼容

FluxDown 不会 100% 复现 aria2 的所有行为——比如 aria2 的 .aria2 控制文件、pieceSelect 参数、一些高级 BitTorrent 选项在 FluxDown 里有不同的实现或不支持。对于 95% 的 aria2 客户端来说这些差异不可见,但极个别做深度 BT 调优的脚本可能需要调整。