先说结论:如果你还在用 IDM,或者厌倦了 aria2 的命令行,FluxDown 是目前最值得试一试的那一个。
它 2026 年 7 月才开源,三个月就冲到 3.5k star,最新版 v0.5.3(2026-10-03)一次性发布了 48 个构建产物 —— 从 Windows 安装包到群晖 .spk、OpenWrt .ipk,再到 Android APK。而它最狠的一步棋,是在 v0.5.0 把已经能用的 Flutter 界面整个推倒重写,换成了纯 Rust 的 GPUI。

目录
- FluxDown 是什么
- 六种协议,一个引擎
- 智能分段:会自我平衡的分段
- 原生架构:关掉窗口,下载继续
- 浏览器接管:三层拦截
- MCP Server:让 AI 帮你下东西
- 一处引擎,处处运行
- 可扩展:插件 / RSS / Webhooks / 主题
- 隐私优先
- 和 IDM 正面对比
- 安装与上手
- 从源码构建
- 升级前要留意的几个坑
- 小结
一、FluxDown 是什么
FluxDown 的自我定位只有一句话:Downloads, Supercharged.(下载,全面加速) —— 一款免费开源的多协议下载管理器,目标是做 IDM 的替代品。
| 项目 | 信息 |
|---|---|
| 仓库 | github.com/zerx-lab/FluxDown |
| 作者 | ZerxLab |
| 主语言 | Rust |
| 许可证 | AGPL-3.0 |
| 最新版本 | v0.5.3(2026-10-03) |
| 开源时间 | 2026-07-03 |
| 热度 | 约 3.5k stars / 194 forks(截至 2026-10-04) |
| 官网 | fluxdown.zerx.dev |
它的卖点可以概括成五条:
- 快 —— Rust + Tokio 引擎,IDM 风格的运行时动态分段;
- 全 —— HTTP/HTTPS、FTP、BitTorrent、eD2K、HLS、DASH 六种协议共用一个引擎;
- 原生 —— GPUI 直接 GPU 渲染,没有 WebView、没有 Electron;
- 能扩展 —— 沙箱 JS 插件、RSS 自动化、Webhooks、命名队列;
- 对 AI 友好 —— 内置 MCP Server,Claude、Cursor 这类客户端可以直接操控你的下载。
二、六种协议,一个引擎
大多数下载器只把 HTTP 做好就收工了,FluxDown 则是每种协议都有一个专用下载器,但跑在同一个 Rust 引擎里 —— 它们共享队列、限速、重试、分类和续传状态。这意味着你可以把 BT 任务、HLS 视频和普通 HTTP 文件放进同一条队列统一调度。
| 协议 | 能力 |
|---|---|
| HTTP / HTTPS | Range 请求、动态分段、Cookie、自定义 Header、代理 |
| FTP | 经典文件服务器,支持断点续传,与其它任务同队列 |
| BitTorrent | 磁力链接与 .torrent,DHT / UPnP,支持单文件选择与 tracker 列表 |
| HLS | 选清晰度、并行抓取分片、AES-128 解密、合并为单文件 |
| DASH | 音轨与视频轨分别下载,结束后封装 |
| eD2K | ed2k:// 链接,通过服务器列表 + Kad DHT 找源,MD4 校验 |
值得注意的是 HLS 与 DASH 的专门引擎:这是 IDM 只做到「部分支持」的地方,也是流媒体下载最容易翻车的环节(分片顺序、解密、音视频合并)。FluxDown 把它做成了完整链路。
三、智能分段:会自我平衡的分段
这是它区别于普通多线程下载器的核心技术点。
传统多线程下载器的做法是:启动时把文件按固定份数切好,然后每个线程盯住自己那一段。问题是 —— 如果某一段恰好落在一个慢镜像上,整条下载就被它拖住了,其它线程干完活只能空转。
FluxDown 的引擎是运行时动态拆分:
- 按需拆分(Split on demand) —— 连接数逐步爬升,且只在服务器扛得住的时候才加;
- 工作窃取(Work stealing) —— 某条连接提前完成时,它把当前仍在传输的最大分段一分为二,接管后半段;
- 连接复用(Connection reuse) —— keep-alive socket 在分段之间跳转,不重新握手;
- 按域学习(Learns per domain) —— 每个主机记住连接数上限和热启动提示。
一句话概括效果:没有任何一个慢镜像能把整条下载当人质。
四、原生架构:关掉窗口,下载继续
v0.5.0(2026-09-30)是 FluxDown 的分水岭。作者在官方公告里写了一篇长文解释为什么把能用的 Flutter 界面推倒重写,理由很实在:
- Flutter 版把界面和下载引擎塞在同一个进程里,通过 FFI 信号桥通信 —— 界面一出问题,正在下载的任务跟着一起完蛋;
- 桌面端 Flutter 没有真正的多窗口,设置、队列管理、任务详情只能全塞在主窗口里当对话框;为了一个小小的快速下载窗口,得给 Windows 写 C++、macOS 写 Swift、Linux 写 C 各做一个原生宿主,再嵌一个完整的 Flutter 引擎进去;
- 那个小窗口的引擎一旦创建就无法销毁(反复创建销毁会崩),只能常驻内存到应用退出;为了后台下载,整个 Flutter 界面也得一直挂着;
- 加一个按钮要写 Rust signal → 生成 Dart 绑定 → 再写一遍 Dart 模型,同一件事在两种语言里做两遍。
于是作者选择用 GPUI(Zed 编辑器背后的 Rust UI 框架)重写整个桌面客户端 —— 界面直接画在 GPU 上,没有 WebView、没有 Electron、没有第二种语言,从下载引擎到屏幕上的每一个像素都是同一份 Rust 代码库。
重写规模(作者自述):3 个进程、11 个独立 UI 模块、约 6.8 万行 Rust UI 代码,外加约 3 万行重写的 Web 控制台。
更重要的是架构上的三层分离:
这套拆分带来的直接变化:
- 关掉窗口,下载继续 —— 界面进程完全退出,把内存还给系统;常驻的只有 agent 和下载核心,不含任何 UI 运行时;
- 界面崩了也伤不到文件 —— 正在下载的数据和画界面的进程彻底隔离;
- NAS 上的 Web 控制台与桌面端能力对齐 —— 因为核心和界面说的是同一套协议。
新界面还补了不少细节:⌘K / Ctrl+K 命令面板、真正的多窗口(位置尺寸记忆)、任务列表显示系统文件图标(双击打开、拖出文件)、任务详情里的「来源构成 / 速度」页(看清数据来自 CDN、代理还是哪张网卡)、长列表刷新时行序稳定不跳动,以及基于声明式 token 的新主题系统。
五、浏览器接管:三层拦截
FluxDown 提供了 Chrome、Edge、Firefox 三个平台的扩展,它会在浏览器保存文件之前把下载截走 —— 连同 Cookie 和 Referer 一起送进 FluxDown 的「新建下载」窗口。
- 三层拦截:响应头、文件名判定、最后兜底,层层递进,专治别人漏掉的场景;
- 媒体嗅探:自动发现页面上的视频、音频、HLS 与 DASH 流,按标签页分组;
- 剪贴板与链接:复制的 URL 和
fluxdown:链接会打开同一个表单并预填; - 不想装扩展? 还有油猴(Tampermonkey)脚本,直接向本地 API 投递。
六、MCP Server:让 AI 帮你下东西
这是 FluxDown 在同类工具里最不一样的地方:它内置了一个 MCP(Model Context Protocol)服务器,让 Claude Desktop、Cursor、Cline 这类 AI 客户端直接管理你的下载。
- 端点:
http://127.0.0.1:17800/mcp(默认仅本机可访问) - 协议:Streamable HTTP,在单个
POST /mcp上跑 JSON-RPC 2.0 - 鉴权:Bearer Token(
Authorization: Bearer <token>或X-FluxDown-Token),与本地管理 API 共用 - 开启:设置 → API 服务 → 打开「MCP 端点」开关(自动生成 token);无界面服务器版本默认开启
- 无需额外进程:跑在本地 API 端口上
提供的 12 个工具:
| 工具 | 作用 |
|---|---|
download_add | 创建下载任务(HTTP/HTTPS、FTP、磁力、BitTorrent) |
download_list | 列出任务,含进度 / 速度 / 状态,可按状态过滤 |
download_get | 按 ID 获取单个任务 |
download_pause / download_resume | 暂停 / 恢复单个任务 |
download_pause_all / download_resume_all | 暂停 / 恢复所有任务 |
download_remove | 删除任务,可选删除已下载文件 |
queue_list | 列出命名队列及其配置 |
rss_list | 列出 RSS 订阅及配置与运行时状态 |
rss_add | 订阅 RSS 源并按计划开始轮询 |
rss_remove | 删除 RSS 订阅及其收集的条目 |
客户端配置示例:
{
"mcpServers": {
"fluxdown": {
"url": "http://127.0.0.1:17800/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
}
MCP 层实现在 native/api/src/mcp.rs,建立在同一个 ApiHost trait 之上 —— 该 trait 同时驱动 REST 管理 API 和 aria2 兼容的 JSON-RPC。也就是说,FluxDown 能当 aria2 的替代品被现有前端调用。
七、一处引擎,处处运行
同一个 Rust 引擎,撑起了桌面端、NAS 无界面服务器、可脚本化 CLI 和 Android 应用,全部说同一套 API。
| 形态 | 平台 |
|---|---|
| 桌面端 | Windows(x64 / ARM64)、macOS(Intel / Apple Silicon)、Linux(x64) |
| 服务器 / NAS | Docker、群晖 DSM 6/7 .spk、QNAP .qpkg、OpenWrt .ipk、Unraid CA、CasaOS / ZimaOS |
| CLI | 远程或 --local 本地模式 |
| Android | 原生应用(按 ABI 分发 APK) |
NAS / 服务器版本自带 Web 控制台,一行 Docker 就能跑起来:
docker run -d \
--name fluxdown-server \
--restart unless-stopped \
-p 17800:17800 \
-v fluxdown-data:/data \
-v /path/to/downloads:/root/Downloads \
ghcr.io/zerx-lab/fluxdown-server:latest
v0.5.0 还把 Web 控制台从零重写,布局与操作和桌面端一一对应。同时补上了多设备能力:任务可以下发到云端设备,或通过局域网配对发到同网段的其它设备(配对用短安全码确认),并且支持多网卡聚合下载 —— 一张网卡不够就几张一起上。
八、可扩展:插件 / RSS / Webhooks / 主题
FluxDown 的定位不只是「一个下载器」,更像一个可编程的下载平台:
- 插件(Plugins) —— 沙箱化 JavaScript 运行时。Resolver 把网页转成直链,Hook 在任务开始 / 完成 / 失败时响应,权限需要显式声明;
- 托管组件(Managed components) —— ffmpeg 和 yt-dlp 按需安装、在隔离环境里调用,不用再折腾 PATH;
- RSS 自动化 —— 订阅源 + 规则过滤,新条目自动下载,无需人工干预;
- 队列与计划 —— 命名队列各有自己的顺序,支持每日启动 / 停止计划;
- Webhooks —— 把任务事件推到任意端点,可按队列和事件类型过滤;
- 主题 —— 内置亮 / 暗调色板,强调色任选。
九、隐私优先
这一条是 FluxDown 对商业软件最直接的差异化:没有账号、没有广告、不追踪你下载了什么。
官方说明里唯一会离开你机器的,是两个匿名计数器 —— 「安装量」和「今日活跃」,而且可以关闭。数据本地优先,任务、历史、设置全部存在本机同一个 SQLite 库里。
十、和 IDM 正面对比
| 项目 | FluxDown | IDM |
|---|---|---|
| 价格 | 免费开源 | $24.95 + 续费 |
| 开源 | 是(AGPL-3.0) | 否 |
| 平台 | Windows / macOS / Linux / NAS / Android | 仅 Windows |
| BitTorrent 与磁力 | 支持 | 不支持 |
| eD2K / eMule 链接 | 支持 | 不支持 |
| HLS / DASH 流媒体 | 支持 | 部分支持 |
| 动态分段 | 支持 | 支持 |
| 浏览器扩展 | Chrome / Edge / Firefox | 支持 |
| 广告与追踪 | 无 | — |
一句话:IDM 在 Windows 上依然是老牌强者,但跨平台、BT/eD2K、流媒体这三块是它的硬伤,而 FluxDown 全部覆盖,且免费。
十一、安装与上手
从 GitHub Releases 或官网下载页获取最新构建:
| 平台 | 包格式 |
|---|---|
| Windows(x64 / ARM64) | setup.exe 安装程序 · 便携版 .zip |
| macOS(Intel / Apple Silicon) | .dmg · 便携版 .tar.gz |
| Linux(x64) | .AppImage · .deb · Arch .pkg.tar.zst · 便携版 .tar.gz |
| Android(arm64-v8a / armeabi-v7a / x86_64) | 按 ABI 的 .apk · 通用 .apk |
| NAS / Server | Docker · 群晖 DSM 6/7 .spk · QNAP .qpkg · OpenWrt .ipk · Unraid CA · CasaOS / ZimaOS |
浏览器扩展:
上手三步:装桌面客户端 → 装浏览器扩展 → 在「设置 → API 服务」里打开 MCP 端点开关(想让 AI 帮忙下东西的话)。
十二、从源码构建
前置要求:Flutter SDK(Android 端仍用 Flutter)、Rust 工具链、Rinf CLI。
# 克隆开发分支(main = 活跃开发,stable = 稳定发布)
git clone -b main https://github.com/zerx-lab/FluxDown.git
cd FluxDown
# 检查环境
rustc --version
flutter doctor
# 安装 Rinf CLI(只需一次)
cargo install rinf_cli
# 拉依赖并生成 Dart 绑定
flutter pub get
rinf gen
# 调试运行
flutter run
# 构建发布版
flutter build apk --release # 或 ios
跑测试:
flutter test # Dart 测试
cargo test -p fluxdown_engine # Rust 引擎测试
cargo test -p hub # FFI 适配层测试
提交前请确保通过:
cargo fmt --check && cargo clippy -- -D warnings # Rust
flutter analyze # Dart
注意:
main是开发分支,stable只追踪稳定发布,维护者从main推进。
十三、升级前要留意的几个坑
如果你从旧的 Flutter 版本升级到 v0.5.x,作者明确列了几条注意事项:
- 数据不丢 —— 任务、历史、设置都在同一个本地库里,升级后照旧;Windows 安装程序会就地覆盖旧版,文件关联和磁力 /
ed2k链接会自动指向新客户端; - 局域网配对协议升到 v2 —— 两端设备要一起升级;
- 保存的站点凭据需要重新输入一次;
- 浏览器扩展要跟着桌面端一起更新,否则可能显示「未连接」;
- Windows 构建目前未签名,首次启动系统会弹警告;
- Android 应用仍然是 Flutter,但会持续获得引擎更新。
十四、小结
FluxDown 真正吸引人的地方,不在于它「又一个下载器」,而在于三个选择:
- 把引擎做扎实 —— 六协议同引擎、运行时动态分段 + 工作窃取,这是速度的根;
- 把架构做干净 —— 为了「关掉窗口下载继续」这一件事,宁可推倒 Flutter 重写成 GPUI 三进程,这种工程决断在个人项目里并不多见;
- 把接口对外开放 —— REST、aria2 兼容 JSON-RPC、CLI、Webhooks,再加一个 MCP Server,让它从「工具」变成了「可被编排的下载基础设施」。
适合谁:需要跨平台下载方案的人、NAS 用户、BT / 磁力 / 流媒体下载需求重的用户、想把下载接进自动化流程或 AI Agent 的开发者。
暂时要接受的:项目开源才三个月,v0.5.x 还在快速迭代期;Windows 包未签名;生态(插件市场)刚起步。
本文基于 FluxDown 官方仓库 README 与官网公开资料整理,版本信息截至
v0.5.3(2026-10-03)。软件处于活跃开发阶段,功能与界面可能随时变化,请以官方仓库和官网为准。项目采用 AGPL-3.0 许可证,使用与二次分发请遵守其许可条款。
项目信息