开源免费 · 极速多线程下载

下载速度
快到起飞

ar bt 通过 HTTP Range 请求将文件切分为多个分片,多线程并行下载再合并, 让你的下载速度突破单线程瓶颈,轻松达到 6+ MB/s。

8x
并行线程
6+
MB/s 速度
∞
断点续传
0
数据丢失
ar bt — 下载管理器
📁 ubuntu-24.04-desktop-amd64.iso 6.42 MB/s
1.72 GB / 2.56 GB 剩余 2 分 14 秒
T-01 0.81 MB/s
T-02 0.83 MB/s
T-03 0.79 MB/s
T-04 0.82 MB/s
T-05 0.80 MB/s
T-06 0.84 MB/s
T-07 0.78 MB/s
T-08 0.75 MB/s

不只是快,更是聪明

ar bt 将现代下载器的核心能力浓缩在一个轻量工具中,开箱即用。

⚡

多线程并行下载

通过 HTTP Range 请求将文件切分为 N 个分片,8 条独立 TCP 连接并行拉取数据,总吞吐量约为单连接的 8 倍。

🔄

断点续传

每秒持久化下载进度到 .arbt 文件,网络中断后重新启动即可从精确位置继续,绝不重复下载。

🛡️

智能探测

不信服务器响应头的谎言,实测 Range 支持能力。不支持时自动降级为单线程,保证兼容性。

🧲

Chrome 扩展接管

安装浏览器扩展后自动拦截下载任务,转发给 ar bt 桌面端,一键切换下载方式。

📦

精准写入不冲突

每个线程通过 seek() 定位到自己的区间直接写入文件,写入位置互不重叠,无需合并临时文件。

🪶

轻量高效

核心逻辑简洁清晰,Python 实现,无重量级依赖。内置 HTTP 服务,任务队列即收即下。

四步极速下载

从探测到合并,每一步都经过精心设计。

01

探测服务器能力

发送带 Range 的 GET 请求,实测服务器是否真正返回 206 状态码,而非轻信 Accept-Ranges 头。

GET /file.zip  Range: bytes=0-0  → 206 ✅  /  200 ❌
02

智能分片

根据文件大小和线程数自动计算最优分片区间,每个分片对应一段精确的字节范围。

chunk_0: 0-1530  |  chunk_1: 1531-3060  |  ...  |  chunk_7: 10711-12344
03

并发下载与写入

每个线程独立请求自己的分片,通过 seek() + write() 精准写入目标文件的对应位置,互不阻塞。

fd.seek(chunk_start) → fd.write(chunk_data)  // 多线程安全
04

进度持久化 & 断点续传

实时将进度写入 .arbt 文件。中断后恢复时精确到字节级别续传,完成下载后自动清理。

{ "chunks": [{"start":0, "end":1530, "downloaded":800}, ...] }

为什么能到 6+ MB/s

每一层优化都在为速度服务。

🌐

多 TCP 连接并行

单线程受限于单条 TCP 连接的带宽窗口。多线程 = 8 条独立 TCP 连接并行拉数据,总吞吐 ≈ 单连接的 8 倍。

🔗

HTTP 持久连接

充分利用 Connection: keep-alive 复用 TCP 连接,减少握手开销,让带宽全部用于数据传输。

🧮

零拷贝写入

buffering=0 无缓冲模式 + seek() 直接定位写入,避免缓冲区拷贝开销和临时文件合并。

📊

实时进度追踪

每秒将精确到字节的进度写入 .arbt 状态文件,确保任何时刻中断都能无缝恢复。

⬇️

下载 ar bt

点击下方按钮前往百度网盘下载最新版本

🔑 提取码 2z0t
前往百度网盘下载

提取码 2z0t · 请在打开网盘页面后手动输入

✅ 已复制到剪贴板