ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

一个下载器搞定全网:Rayburst 多协议下载完全指南(7 种协议 + 3 步上手)

一个下载器搞定全网:Rayburst 多协议下载完全指南(7 种协议 + 3 步上手)

一个下载器搞定全网:Rayburst 多协议下载完全指南(7 种协议 + 3 步上手)

【免费下载链接】rayburstRedefining the open-source download manager项目地址: https://gitcode.com/gh_mirrors/mo/rayburst

Rayburst 是一款开源免费的全能下载管理器,一个应用同时处理 HTTP/HTTPS、SFTP、ED2K、BitTorrent、Magnet、Thunder 与 HLS/DASH 媒体流。Tauri 2 + Rust + Vue 3 架构,安装包仅约 20 MB,覆盖 macOS、Windows、Linux 三大平台。

三步跑通第一个任务

  1. 按平台拿安装包:Windows 是.exe,macOS 是.dmg,Linux 可选.deb/.rpm/.AppImage/ Flatpak。
  2. 首次启动自动检测系统语言并匹配语言包(内置 27 种,见 src/shared/locales/)。
  3. 点左上角的"+"新建任务:粘贴链接、拖入.torrent文件都行,在独立的添加任务窗口确认保存目录后提交,任务立即进入左侧按状态分组的列表。

从源码构建也一样简单,克隆https://gitcode.com/gh_mirrors/mo/rayburst后:

pnpm install pnpm tauri dev

一张表看懂所有输入类型

输入类型触发方式核心特性适用场景
HTTP/HTTPS 直链粘贴 URL安全文件名解析(Content-Disposition、RFC 2047、非 UTF-8 与百分号编码)软件安装包、网页直链
SFTP粘贴 URL与 HTTP 同一条提交链路内网文件服务器
Magnet 磁力链接粘贴或点击magnet:先抓元数据,文件级勾选再下载无种子的资源分享
BitTorrent拖入.torrent选择性下载、DHT/PEX、tracker 探测、GeoIP 标识大文件、影视资源
ED2K / Thunder粘贴ed2k://或thunder://引擎原生支持,随包引导文件自动注入电驴/快车老资源
HLS/DASH 媒体流粘贴 m3u8 / manifest 地址选轨道、字幕,MP4/MKV 输出,直播录制可断点在线视频保存

全部任务汇入同一个列表,共享同一套限速、通知和历史记录——这正是"一个下载器搞定全网"的实际含义。

磁力链接为什么先"不动",怎么只下想要的那部分

现象:粘贴 magnet 链接后任务一直停着,速度 0,文件列表还是空的。

原因是引擎正在 DHT 网络里抓元数据——磁力链接本身不含文件清单,这份清单得先"问"出来。实际跑起来是这样的:useMagnetFlow.ts 把引擎返回的元数据解析成 UI 可勾选的条目,文件树加载出来后你在 BtFileSelector.vue 里只勾需要的部分再开始,而不是整包全下。任务的fileSelectionState状态(awaiting/ready)区分"还在等元数据"和"可以选文件了",界面和断点恢复都靠它。

元数据抓完只是开始,下一个更常见的卡点出在电驴上。

ED2K 连不上服务器:内置引导文件替你兜底

现象:ED2K 任务长时间"找不到文件""连不上服务器"。

原因分两层:ED2K 网络冷启动需要一份服务器/节点列表当引子,而整个 eD2k 网络的健康度是协议本身的特性,谁也绕不开。项目能控制的是前者——随包自带两份引导文件:server.met(服务器列表)和 nodes.dat(节点列表)。首次运行时 ed2k.rs 会把它们缓存到应用数据目录并注入引擎选项(ed2k-server-list/ed2k-node-list),之后还能从网络同步更新。网页上常见的 base64 编码thunder://链接也会被自动解码成标准 ED2K 任务,不用手动转码。

排障顺序建议:先确认引导文件已同步(偏好里 ED2K 页可查),再考虑网络本身的因素。而如果你下的是 BT,慢的原因又完全是另一回事。

BT 前几分钟为什么挂 0 速度

现象:种子任务刚建好,速度纹丝不动,过几分钟甚至十几分钟才慢慢爬升。

原因是 peer 发现是渐进过程:tracker 探测、DHT、PEX 三条路同时跑,冷启动时一个邻居都没有,自然没有速度。Rayburst 把 DHT 与 PEX 默认打开,让"tracker 全挂"也能找到 peers;peer 列表还会按 GeoIP 打上国家标签,哪路源慢、源从哪来,一眼排查。加密控制、元数据缓存、tracker 探测这些开关集中在 BitTorrent.vue,peer 数据的解析逻辑在 peer.ts。说白了:前几分钟慢不是故障,是这类 P2P 协议的冷启动税。

界面和协议都讲完了,剩下的问题是:这套东西底层怎么跑起来的?

工程视角:GUI 配了一个独立后厨

Rayburst 用 Tauri 2 做壳,Rust 写后端,Vue 3 写前端。真正搬数据的是 Aria2 Next 引擎——aria2 的维护分支,保留原版接口,修掉长期遗留问题,引入 CMake 构建,并新增了原生 ED2K 和 HLS/DASH 支持。

引擎以 Tauri sidecar 模式运行,说白了就是给 GUI 配了一个独立开火的后厨:界面是前台点单,Rust 主进程负责后厨的开关门。引擎生命周期(启动、重启、端口冲突恢复、退出清理)由 lifecycle.rs 托管;前后端之间走 JSON-RPC,客户端实现在 rpc.rs;引擎二进制随应用分发,覆盖 6 个平台目标,都放在 binaries/ 目录里。历史、凭据、选择记录则统一落在本地 SQLite,schema 见 schema.sql。

把常用协议设成系统默认

在 偏好 → 常规 里勾选协议处理器(magnet、ed2k、thunder、rayburst),注册逻辑集中在 protocol.rs:

  • macOS:通过 LaunchServices 设置默认 URL handler
  • Windows:写入 HKCU 注册表(ProgID + Capabilities + RegisteredApplications),立即出现在"设置 → 默认应用"
  • Linux:注册 desktop 文件的x-scheme-handler并刷新 MIME 数据库

注册完成后,浏览器里点链接直接进下载队列。即使应用最小化到托盘(轻量模式会销毁全部 WebView),外部链接也不会丢——deep_link.rs 先把链接排队缓存,等窗口重建后自动投递。

FAQ

Q:macOS 提示"已损坏,无法打开"?应用是 ad-hoc 签名、未做公证。在终端运行xattr -dr com.apple.quarantine /Applications/Rayburst.app移除隔离属性即可,每次升级后需再执行一次。

Q:五种协议的任务能混在一个列表里管理吗?能。所有协议的任务共用同一个任务列表、全局限速、完成通知,历史记录统一由 SQLite 持久化,互不干扰。

Q:为什么没有便携版?因为 Aria2 Next 引擎是随包分发的独立 sidecar 二进制,必须与主程序同目录运行;深链注册和自动更新也需要安装器的固定路径配合。这是 Tauri sidecar 模型在 Windows 上的硬约束,不是偷懒。

如果你受够了"直链一个软件、种子一个软件、电驴再装一个"的拼凑局面,Rayburst 就是那个值得常驻托盘的答案——约 20 MB 的开源下载管理器,七种协议通吃,装完设默认,收工。

【免费下载链接】rayburstRedefining the open-source download manager项目地址: https://gitcode.com/gh_mirrors/mo/rayburst

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进