【P2P网络】磁力链接转换为种子文件 magnet to torrent

作者:zxx

1.前言

将种子文件转换为磁力链接很简单,只需要在种子文件的infohash码前面加上magnet:?xt=urn:btih:即可,相信大家在迅雷,utorrent等主流软件上也都能发现这个功能。

但是将磁力链接转换为种子文件就不那么简单了,因为sha-1算法是不可逆的,但是BT协议确提供了这个功能,但是我在网上没有找到中文的介绍,这里就将自己的研究心得贡献一下。 下面还想废话2句,告诉大家使用磁链和种子的优缺点。其实磁力链接本身是没什么用的,不管在任何软件的磁链下载中,都必须要先通过磁链得到种子文件,再使用种子文件进行常规下载。因为种子文件才有分片信息,文件大小,文件名等必要信息。所以可以看出,种子其实是必不可少的,那你可能会觉得奇怪,为什么还需要磁链呢?这是因为现在对BT的封锁太严重,传播种子并不是那么简单的事了,动不动就被和谐了,所以磁链的作用就是便于传输,因为磁链就是一个小小的文本,而种子确是一个文件呢~所以总结一下他们的优缺点:A.种子:稳定性高,信息多,不便于传播扩散B.磁力链接:仍需要先获得种子,不稳定,可能在某时刻不能获取,但是很便于扩散。

2.磁力链接到种子转换的策略

本人现在的研究共发现3种策略:A.利用BT的官方协议获取B.从迅雷的种子库获取C.从比特彗星的种子库获取下面对三种策略做简单介绍:第一种,利用BT的官方协议获取性能特色:这种策略可以获取最多的种子,但是速度最慢,因为是官方的协议,所以很稳定,但是如果这个种子是个冷门种子时,很可能会获取不到,因为当前没有DHT用户在线,所以当使用迅雷,utorrent等客户端软件提示无法获取种子时,你可以待会再试,过阵子可能有对应种子的用户上线,她如果加入了DHT网络,我们就可以获取种子了。实现原理:这个方法需要阅读官方的2个扩展协议:

翻译稿:

理解并实现这2个协议后就可以获取种子了,下面是2个协议的翻译稿。

bep_0009翻译稿:

好消息!我发现这个网站是使用extend协议进行解析,大家可以试用下~速度可能会很慢,但是应该可以解析很多库里面没有的种子。

第二种,从迅雷的种子库获取性能特色:这种策略获取种子的速度很快,当你有一批磁力链接时,可以先使用这种方法来获取大部分种子,对迅雷种子库没有的部分,,再使用第一种方法获取。实现原理:非常简单,在浏览器中输入即可获取种子,其中的 05153F611B337A378F73F0D32D2C16D362D06BA5是对应种子文件的infohash码,也就是磁链的btih:字段,/05/A5是hash的第一个和最后一个字节。当你需要大规模获取时,就自己用C++构造一个报文内从去请求吧。第三种,从比特彗星的种子库获取性能特色:同第二种的性能特色,但是比特彗星的库里面种子更多。因为比特彗星可以制作种子,在制作的同时可能就上传到库里面了。实现原理:我还没有解析出来,大家可以参见文章:,但是这位牛人也忘记了hash字段是怎样加密的,我不知道怎样从hash到key。如果有人发现了,希望您能告诉我,谢谢!

第四种,从Vuze的种子库获取

这个也蛮厉害的,我搞了半天才搞出来……

比如对于infohash为03621694F0E8B2CE87216C99CB5CA3AF23029E37的磁力链接,构造下面的URL:

?hash=ANRBNFHQ5CZM5BZBNSM4WXFDV4RQFHRX

其中的ANRBNFHQ5CZM5BZBNSM4WXFDV4RQFHRX是03621694F0E8B2CE87216C99CB5CA3AF23029E37的base32码,但是不能直接去网上base32转,因为转码要用03621694F0E8B2CE87216C99CB5CA3AF23029E37的二进制数据

linux下可以这样转

echo -n 03621694F0E8B2CE87216C99CB5CA3AF23029E37 | xxd -r -p|./perl_32.pl其中的perl_32.pl是一个源文件,内容如下:#!/usr/bin/perluse MIME::Base32 qw( RFC );undef $/; # in case stdin has newlines$string = <STDIN>;$encoded = MIME::Base32::encode($string);print "$encoded\n";如果权限不对记得要chmod 777 perl_32.pl

补充一些种子库:

66B106B04F931DA3485282C43CF66F6BD795C8C4.torrent

66B106B04F931DA3485282C43CF66F6BD795C8C4.torrent

66B106B04F931DA3485282C43CF66F6BD795C8C4.torrent

:最终重定向使用torrage.com进行下载

缓存的种子很少

:torrage.ws:

爱情要完结的时候自会完结,到时候,你不想画上句号也不行。

【P2P网络】磁力链接转换为种子文件 magnet to torrent

相关文章:

你感兴趣的文章:

标签云: