ar bt 通过 HTTP Range 请求将文件切分为多个分片,多线程并行下载再合并, 让你的下载速度突破单线程瓶颈,轻松达到 6+ MB/s。
ar bt 将现代下载器的核心能力浓缩在一个轻量工具中,开箱即用。
通过 HTTP Range 请求将文件切分为 N 个分片,8 条独立 TCP 连接并行拉取数据,总吞吐量约为单连接的 8 倍。
每秒持久化下载进度到 .arbt 文件,网络中断后重新启动即可从精确位置继续,绝不重复下载。
不信服务器响应头的谎言,实测 Range 支持能力。不支持时自动降级为单线程,保证兼容性。
安装浏览器扩展后自动拦截下载任务,转发给 ar bt 桌面端,一键切换下载方式。
每个线程通过 seek() 定位到自己的区间直接写入文件,写入位置互不重叠,无需合并临时文件。
核心逻辑简洁清晰,Python 实现,无重量级依赖。内置 HTTP 服务,任务队列即收即下。
从探测到合并,每一步都经过精心设计。
发送带 Range 的 GET 请求,实测服务器是否真正返回 206 状态码,而非轻信 Accept-Ranges 头。
根据文件大小和线程数自动计算最优分片区间,每个分片对应一段精确的字节范围。
每个线程独立请求自己的分片,通过 seek() + write() 精准写入目标文件的对应位置,互不阻塞。
实时将进度写入 .arbt 文件。中断后恢复时精确到字节级别续传,完成下载后自动清理。
每一层优化都在为速度服务。
单线程受限于单条 TCP 连接的带宽窗口。多线程 = 8 条独立 TCP 连接并行拉数据,总吞吐 ≈ 单连接的 8 倍。
充分利用 Connection: keep-alive 复用 TCP 连接,减少握手开销,让带宽全部用于数据传输。
buffering=0 无缓冲模式 + seek() 直接定位写入,避免缓冲区拷贝开销和临时文件合并。
每秒将精确到字节的进度写入 .arbt 状态文件,确保任何时刻中断都能无缝恢复。
点击下方按钮前往百度网盘下载最新版本
提取码 2z0t · 请在打开网盘页面后手动输入