种子的结构

单文件种子结构(Single-File Torrent)
├─announce
├─announce-list
├─comment
├─comment.utf-8
├─creation date
├─encoding
├─info
│ ├─length
│ ├─name
│ ├─name.utf-8
│ ├─piece length
│ ├─pieces
│ ├─publisher
│ ├─publisher-url
│ ├─publisher-url.utf-8
│ └─publisher.utf-8
└─nodes

多文件种子结构(Multi-file Torrent)
├─announce
├─announce-list
├─comment
├─comment.utf-8
├─creation date
├─encoding
├─info
│ ├─files
│ │ ├─length
│ │ ├─path
│ │ └─path.utf-8
│ ├─name
│ ├─name.utf-8
│ ├─piece length
│ ├─pieces
│ ├─publisher
│ ├─publisher-url
│ ├─publisher-url.utf-8
│ └─publisher.utf-8
└─nodes

其中比较重要的字段有:
announce: Tracker服务器
announce-list: Tracker服务器列表
comment: 注释
info: 种子文件内容
info/name: 推荐任务命名
info/files/length: 多文件下文件大小
info/files/path: 多文件下文件名

PHP - Torrent

用到了一个PHP的库,Github的链接:https://github.com/Devristo/torrent
通过这个库,可以直接解析和修改种子文件。

PHP BT种子文件转换为磁力链接

生成磁力链接的代码就很简单了,我们只添加必须的Hash信息即可。

$torrent = Torrent::fromFile($fileName);
$digest = $torrent->getInfoHash(false);
$tr = $torrent->getAnnounce();
echo "magnet:?xt=urn:btih:$digest";

发表评论

电子邮件地址不会被公开。 必填项已用*标注