情境:一份只有一行的文本文件
你大概遇到过这样的场景:群里有人发来一个几十字节的磁力种子,后缀是 .txt,双击打开之后,里面只有一行以 magnet:?xt=urn:btih: 开头的长字符串,中间还夹着几个 & 符号。
冲突:把它当种子文件拖进下载器
多数人的第一反应是把它当成种子文件本体,直接拖进下载工具,结果提示无法识别。原因是 .torrent 属于 Bencode 编码的二进制数据,开头是字母 d,而 .txt 只是一层纯文本外壳,两者在文件头就对不上。
问题:那它和 .torrent 的差别在哪
于是问题变成了:既然里面没有文件列表,下载工具凭什么知道该去找哪些数据块?答案藏在字符串中段那 40 位十六进制字符里,也就是 info-hash。想快速定位这一段,可以对照文本字段拆解逐项核对。
答案:它是索引的入口,不是索引本身
info-hash 是对种子元数据做 SHA-1 摘要后的结果,相当于资源在网络中的身份证号。下载工具拿到它以后,会通过 DHT 网络与 Peer 交换协议反向把元数据补齐,再开始传输。所以一份磁力种子.txt 更准确的定位是索引入口,而不是索引本体。
理解了这一层,再看与 .torrent 的差异和安全校验清单,判断一份文件是否可用就会快很多。收藏本文后,遇到陌生的磁力种子也能按图索骥地排查。