Bencode / .torrent 检查器
文件
Bencode 是 BitTorrent 用于存储元数据的简洁文本-二进制格式。仅有 4 种类型 ─ 整数(`i42e`)、字节串(`4:spam`)、列表(`l…e`)、字典(`d…e`) ─ 但单个 .torrent 文件可装下整个种子: announce Tracker、注释、创建日期、所共享的文件(们)、分片大小,以及长长的 SHA-1 分片哈希字串。本工具完全在浏览器内读取任意 bencode 文件,解析为可展开树,若识别出种子结构还会计算 BitTorrent Info 哈希(对顶层字典 `info` 值的精确字节区间做 SHA-1) ─ 与磁力链接中 `xt=urn:btih:…` 形式相同的 40 字符 16 进制标识。单文件与多文件种子均支持,存在时显示每个文件的路径与大小。无下载、无做种、无外发 ─ 文件仅读入内存用于检查。
—
使用方法
- 拖入或选择任意 .torrent 文件(或任意 bencode 数据)。
- 顶部查看识别出的种子摘要: 名称·总大小·分片大小·分片数·Tracker·Info 哈希。
- 点 Info 哈希旁的复制按钮,用于磁力链接(`magnet:?xt=urn:btih:<hash>`)。
- 展开下方原始树,查看所有 bencode 键(包括未识别扩展)。
- 随时拖入新文件 ─ 检查器替换之前结果。
常见问题
- Info 哈希如何计算?
- bencode 解析器遍历文件时记录 `info` 字典值的精确字节区间,随后对该原始字节做 SHA-1。这就是 BitTorrent v1 Info 哈希,与磁力链接 `xt=urn:btih:` 参数一致。BitTorrent v2 用不同规范化的 SHA-256 ─ 此处不计算(公开种子大多仍为 v1)。
- 为何部分字符串显示为 `<bin … hex …>`?
- Bencode 字符串是字节串 ─ 不必是 UTF-8。例如 `pieces` 字段是每片二进制 SHA-1 哈希连接而成 ─ 当作文本会全是乱码。严格 UTF-8 解码失败的值改以长度 + 前 8 字节 16 进制预览显示。字节长度始终准确。
- 本工具会下载或做种吗?
- 不会。尽管叫 .torrent,该文件只是元数据 ─ 不含任何实际内容。本工具仅在浏览器本地解析元数据以展示结构和标识符。不向 Tracker、Peer 或 BitTorrent DHT 发任何网络请求。
- 能检视非种子的 bencode 文件吗?
- 可以。一些 BitTorrent 客户端和 Tracker 会交换非 .torrent 的 bencode 数据 ─ DHT 路由表、scrape 响应、fast-resume 文件等。只要文件顶端是有效 bencode,树视图就会渲染;只是顶端没有 `info` 字典时不会显示种子摘要区。