piapia123
zh

种子转 Magnet 链接

网络

所有处理都在浏览器本地完成,数据不上传服务器

把文件拖到这里,或点击选择

单个文件 · 全程在本机处理

文件只在你的浏览器里读取,不会上传到任何服务器。断网也能正常用。

把 `.torrent` 文件变成一条 magnet 链接 —— 拖进来就行,文件不会被上传。 magnet 的好处是不再依赖种子文件本身:它把资源的身份(infohash)直接写在链接里,谁拿到都能去 DHT 网络里找。原种子删了、丢了、被论坛清了,链接照样能用。 这里做的事比看上去要小心一点。infohash 不是整份文件的哈希,而是种子文件里 `info` 字典那一段字节的 SHA-1 —— 而且必须是原始的那段字节。把解析出来的结构重新编码一遍再哈希,会得到一个长度正确、格式合法、就是和全网都对不上的值,并且没有任何迹象表明它错了。⚠️ 有些在线转换工具给出的 infohash 在客户端里怎么都连不上,八成就是这个原因。 除链接之外,页面还会把种子里的信息一并列出来:文件名、总大小、分片长度、tracker 列表、创建工具与时间、是否私有。把这些粘进客户端之前,人通常正想知道这些。 同时支持两代格式:v1 的 infohash 是 SHA-1(magnet 里写作 `btih`),v2 换成了 SHA-256(写作 `btmh`)。hybrid 种子两者都有,那就两个都给出 —— 老客户端认 v1,新客户端认 v2。

功能

  • 生成可直接粘贴的 magnet 链接,含 dn、xl 与全部 tracker
  • 用 info 段的原始字节算 infohash,与客户端认的完全一致
  • 同时支持 v1(SHA-1 / btih)与 v2(SHA-256 / btmh)
  • 列出文件名、总大小、文件数、分片长度与分片数
  • 展开 announce-list 里的全部备用 tracker
  • 标出私有种子 —— 它不参与 DHT 与 PEX
  • 文件不上传,断网也能用

使用方法

  1. 把 .torrent 文件拖进虚线框
  2. 链接立刻出现在顶部,点右侧按钮复制
  3. 下面的表里能看到这个种子的全部细节
  4. 粘进任意 BitTorrent 客户端即可开始

常见问题

为什么这里算出的 infohash 和别处给的不一样?
先怀疑对方。infohash 的定义很死:`info` 字典那一段原始字节的 SHA-1。麻烦在于 bencode 允许多种等价写法 —— 字典键的顺序、整数的表示 —— 一旦某个工具先把种子解析成对象、再重新编码一遍去哈希,它算出来的就是另一段字节。那个值看起来完全正常(40 位十六进制),但 DHT 上不存在这个哈希,客户端会一直停在「正在获取元数据」。本工具始终取原始字节,不重新编码。 当然也有另一种可能:你手上的 `.torrent` 和那个 infohash 本来就来自不同的种子。
magnet 链接里那一串参数都是什么?
`xt` 是身份(`urn:btih:` 后面 40 位十六进制就是前 v2 时代的 infohash)。`dn` 是显示名 —— 只是给客户端和用户看的一个标签,不参与身份计算,改它不影响能不能连上。`xl` 是资源的精确字节数,客户端可以据此预留空间。`tr` 是 tracker 地址,一条链接可以带很多个,用同一个 `tr` 参数重复出现。去掉 `tr` 链接依然能用,因为客户端还能靠 DHT 找到节点。
「私有种子」是什么意思?
私有种子(`private: 1`)的发布者要求只能通过种子内列出的 tracker 交换节点,不允许走 DHT 和 PEX(Peer Exchange)。这么做通常是为了统计做种率、按流量分配权限 —— 很多 PT 站就是这么运作的。对本工具而言,它只是多显示一行提示;但如果你在一个私有种子上手动删掉了 `tr` 参数,那它大概率就真的连不上任何人了。

相关工具