最近研究搞迅雷云播放的时候碰到这个问题,研究了一下bt种子和磁力链之间的互相转换。
其实磁力链转BT种子理论上说是不可能实现的。
一个可以提供下载的磁力链
比如:magnet:?xt=urn:btih:51df6808c739174c8f264701ba94460c5238d6ce
只包含了一个有效信息,那就是种子的hash值。这里没有种子内部包含的文件列表,磁力链没有BT种子构成的所有基本需要。
那怎么转呢?
实际上在通过一些下载工具下载的时候这些种子的时候,下载工具将这个种子保留在服务器。通过HASH值,可以求出放在该服务器上的种子位置,然后下载这个种子。
原理清楚了,那么开始找接口了。我找到的接口如下:
1,迅雷
磁力链:
magnet:?xt=urn:btih:f8181597b51c157fb470e5ee236e364c6fbc2af2
BT种子:
http://bt.box.n0808.com/F8/F2/F8181597B51C157FB470E5EE236E364C6FBC2AF2.torrent
算法:
取磁力链的hash部分,转换大写。
取HASH值的前2位,以及最后两位。
http://bt.box.n0808.com/HASH值最前面两位/HASH值最后面两位/HASH值.torrent
主意,要大写。
2,另外一个网站有个接口。
http://magnet2torrent.com/
接口如下:
https://torcache.net/torrent/F8181597B51C157FB470E5EE236E364C6FBC2AF2.torrent
https://zoink.it/torrent/F8181597B51C157FB470E5EE236E364C6FBC2AF2.torrent
填入hash值,能下的就能下,不能下的也是无解。
3,从BitComet服务器下载
算法如下
http://torrent-cache.bitcomet.org:36869/get_torrent?info_hash=HASH值&size=226920869&key=KEY值
HASH值是已经知道的,但是KEY值的计算暂时还不知道,下面是一个人分析了算法,并封装了一个COM了解的可以看看去。
http://hi.baidu.com/umu618/item/329e4bf13bde9dc4a835a20e