FluxDown 剪贴板监听与 fluxdown:// URL 协议
扩展之外的三种入口
除了浏览器内部拦截,FluxDown 还提供了三种更通用的方式让外部程序把下载任务送进来——这三种都不依赖扩展是否在跑。
剪贴板监听
FluxDown 桌面端常驻时(Agent 层)会监听系统剪贴板:
- 复制了
http:///https:///ftp://开头的 URL → FluxDown 弹出「新建下载」窗口,URL 自动填好。 - 复制了
magnet:?xt=...→ 同上,识别为 BT 磁力。 - 复制了
ed2k://|file|...→ 同上,识别为电驴链接。 - 复制了
.m3u8/.mpd结尾的 URL → 同上,识别为流媒体。
这个行为可以关掉(「设置 → 浏览器 → 剪贴板监听」),适合不想被频繁弹窗打扰的场景。关掉后扩展仍然正常工作——剪贴板监听只是额外通道。
fluxdown:// 自定义 URL 协议
FluxDown 启动时自动注册一个自定义 URL 协议:fluxdown://。任何应用(浏览器、IM、邮件客户端、命令行脚本)都可以用这个协议拉起 FluxDown:
fluxdown://add?url=https://example.com/file.zip
fluxdown://add?url=magnet:?xt=urn:btih:...
协议处理器由 FluxDown Agent 层注册,和 mailto:、magnet: 一样是操作系统级的——FluxDown 没开时,点 fluxdown:// 链接会先启动 FluxDown 再处理。
这个协议特别适合 userscript、第三方下载按钮、自动化脚本使用——比调用本地 API 简单。
本地 HTTP API(userscript 的接口)
FluxDown 在本机默认监听 http://127.0.0.1:17800/api/v1/tasks,接受标准 JSON-RPC 请求:
POST http://127.0.0.1:17800/api/v1/tasks
Authorization: Bearer <token>
Content-Type: application/json
{"url": "https://example.com/file.zip", "segments": 8}
返回值:
{"taskId": "t-abc123def", "status": "queued"}
userscript 方式(Tampermonkey)、自己写的自动化脚本、甚至另一个本机的 Python 程序都可以直接调这个 API 给 FluxDown 下发任务。这个端口默认只绑定 127.0.0.1(localhost),不会对外暴露。要开 LAN 访问需要手动在「设置 → 本地服务器」里开启。
三种通道怎么选
| 通道 | 适用场景 | 需要扩展 |
|---|---|---|
| 浏览器扩展 | 浏览器内下载(Cookie/Referer/媒体嗅探) | 是 |
| 剪贴板监听 | 复制 URL 后直接进 FluxDown | 否(但扩展帮你嗅探 URL 更方便) |
| fluxdown:// 协议 | 外部应用、userscript、自动化脚本 | 否 |
| 本地 HTTP API | 自己写脚本、aria2 兼容调用、MCP | 否 |
所有通道最终都汇聚到 Agent 层 → Daemon 层,走同一个队列、同一个限速、同一个持久化。