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个扩展协议:
http://www.bittorrent.org/beps/bep_0010.html
http://www.bittorrent.org/beps/bep_0009.html

翻译稿:http://blog.csdn.net/xxxxxx91116/article/details/8549454

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

bep_0009翻译稿:http://blog.csdn.net/xxxxxx91116/article/details/8549454

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


第二种,从迅雷的种子库获取

性能特色:
这种策略获取种子的速度很快,当你有一批磁力链接时,可以先使用这种方法来获取大部分种子,对迅雷种子库没有的部分,再使用第一种方法获取。

实现原理:
非常简单,在浏览器中输入
http://bt.box.n0808.com/05/A5/05153F611B337A378F73F0D32D2C16D362D06BA5.torrent
即可获取种子,其中的 05153F611B337A378F73F0D32D2C16D362D06BA5是对应种子文件的infohash码,也就是磁链的btih:字段,/05/A5是hash的第一个和最后一个字节。
当你需要大规模获取时,就自己用C++构造一个报文内从去请求吧。

第三种,从比特彗星的种子库获取

性能特色:同第二种的性能特色,但是比特彗星的库里面种子更多。因为比特彗星可以制作种子,在制作的同时可能就上传到库里面了。

实现原理:
我还没有解析出来,大家可以参见文章:
http://www.cnblogs.com/UMU618/articles/2568579.html,但是这位牛人也忘记了hash字段是怎样加密的,我不知道怎样从hash到key。如果有人发现了,希望您能告诉我,谢谢!

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

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

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

http://magnet.vuze.com/magnetLookup?hash=ANRBNFHQ5CZM5BZBNSM4WXFDV4RQFHRX

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

linux下可以这样转

[plain] view plaincopyprint?
  1. echo -n 03621694F0E8B2CE87216C99CB5CA3AF23029E37 | xxd -r -p|./perl_32.pl
echo -n 03621694F0E8B2CE87216C99CB5CA3AF23029E37 | xxd -r -p|./perl_32.pl

其中的perl_32.pl是一个源文件,内容如下:

[plain] view plaincopyprint?
  1. #!/usr/bin/perl
  2. use MIME::Base32 qw( RFC );
  3. undef $/;  # in case stdin has newlines
  4. $string = <STDIN>;
  5. $encoded = MIME::Base32::encode($string);
  6. print "$encoded\n";
#!/usr/bin/perl
use MIME::Base32 qw( RFC );
undef $/;  # in case stdin has newlines
$string = <STDIN>;
$encoded = MIME::Base32::encode($string);
print "$encoded\n";

如果权限不对记得要

[plain] view plaincopyprint?
  1. chmod 777 perl_32.pl
chmod 777 perl_32.pl

补充一些种子库:

http://torrage.com/torrent/66B106B04F931DA3485282C43CF66F6BD795C8C4.torrent

http://torcache.net/torrent/66B106B04F931DA3485282C43CF66F6BD795C8C4.torrent

http://zoink.it/torrent/66B106B04F931DA3485282C43CF66F6BD795C8C4.torrent

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

http://mag2tor.com/static/torrents/05/15/3f/05153f611b337a378f73f0d32d2c16d362d06ba5.torrent 缓存的种子很少

http://178.73.198.210/:torrage.ws:http://178.73.198.210/torrent/640FE84C613C17F663551D218689A64E8AEBEABE.torrent

原文地址:http://blog.csdn.net/xxxxxx91116/article/details/7971134

【P2P网络】磁力链接转换为种子文件 magnet to torrent .相关推荐

  1. 磁力链接转换为种子文件 magnet to torrent

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

  2. Folx Pro5下载器堪比IDM的下载工具 支持下载磁力链接和种子文件

    Folx Pro是Mac系统上一款媲美IDM的,不对,它还支持下载磁力链接和种子文件,可以说是十分强大的下载工具! Folx是一款免费的macOS专用的下载器,完全Mac风格的用户界面.提供便捷的下载 ...

  3. 解决aria2下载磁力链接或bt文件时没有速度或速度为0

    使用aria2下载磁力链接和种子时,发现长时间都没有速度,因为默认的配置是没有加tracker列表的,就像迅雷没有p2p共享一样,所以要在配置文件中加入trackers,速度就会提上来,这个track ...

  4. Folx Pro 5 最好用的Mac磁力链接BT种子下载工具

    除了迅雷,还有哪个支持磁力链接下载?Mac电脑如何下载磁力链接?经常有小伙伴问老宅.今天,老宅给大家推荐Folx Pro For Mac,Mac系统超好用的磁力下载工具. Folx是一款功能强大且易于 ...

  5. 怎样制作BT种子文件,即torrent后缀的文件?

    经常通过种子文件下载电影,今天我们也来制作一个供别人下载的种子文件. 工具/原料---比特精灵 比特精灵.我就不多说了.大家可以去百度一下..很多的,.,自己下载就可以了 步骤/方法 首先将要上传的作 ...

  6. 磁力链接做成rar文件后怎么打开

    要打开 RAR 文件,首先需要安装一个 RAR 解压缩软件. Windows 系统自带的资源管理器不能直接解压 RAR 文件,所以需要使用第三方软件. 常用的 RAR 解压缩软件有: WinRAR(收 ...

  7. linux 种子文件怎么打开,torrent

    .torrent 文件类型:BitTorrent File 扩展名为.torrent的文件是一个杂项文件. 文件说明:URL of a file or group of files downloada ...

  8. idm如何下载种子文件和磁力链接 idm如何下载torrent

    采用分段式下载技术并支持断点续传的idm下载加速器,几乎可以胜任所有的下载任务.由于该软件强大的下载能力和仅为10MB的小巧体积,idm被来自全球的用户亲切地称为天花板级的下载软件.那么有关idm如何 ...

  9. JAVA如何利用迅雷接口解析磁力,关于神秘代码(磁力链接)如何正确使用

    原标题:关于神秘代码(磁力链接)如何正确使用 神秘代码,也就是磁力链接 也许你对dd4486a844ac0e32a1b2f843e6492af429e34f29这种字符比较疑惑,但这就是磁力链接 (该 ...

  10. P2P下载技术-BT协议与Magnet磁力链接

    P2P下载技术-BT协议与Magnet磁力链接 前言 传统C/S服务器-客户端文件下载 FTP下载 HTTP下载 C/S下载模式缺点 P2P下载 最早的P2P下载应用-Napster BT-BitTo ...

最新文章

  1. 固态硬盘对吃鸡影响有多大?你一定想不到
  2. python多进程存储数据_Python 多进程及进程间通信
  3. ajax请求是宏任务还是微任务_微服务-如何解决链路追踪问题
  4. Microsoft .Net Remoting系列专题之二
  5. 最新发布!《统计学习方法》第二版无监督学习视频课上线了!
  6. CCF NOI1049 旋转图像
  7. ARM通用寄存器和特殊寄存器
  8. 学习笔记-Rabin-Karp哈希
  9. mac安装mysql(命令行方式)
  10. Python设置随机数种子
  11. IDEA中使用JUnit4(单元测试框架)超详细!
  12. 10分钟搞定图形图像识别
  13. 获取手机MAC地址问题
  14. 如果你的爆款产品还没有……可能即将被KO
  15. 基于STM32的ESP8266模块控制多路继电器
  16. 基于ASP.NET的电商系统的设计与实现
  17. 【Android】JNI调用(完整版)
  18. 计算机无法超过人类智慧,计算机的智力会超过人类吗?
  19. android 9 预装可卸载的app,只安装一次
  20. everything搜到不到文件的设置问题

热门文章

  1. c#调用开源espeak语音引擎实现中英文混读
  2. 小记 xian80 坐标转换 wgs84
  3. 互联网时代成功创业故事
  4. HDU - 5956 The Elder——斜率优化dp
  5. Windows11/10 环境下安装Madagascar (WSL Ubuntu)
  6. c语言方程没有解,【C语言】一元二次方程的解
  7. javaWeb之Response
  8. python中render是什么意思_Django中render_to_response和render的区别(转载)
  9. 教父:花半分钟就看透事物本质的人,和花一辈子都看不清本质的人,注定是截然不同的命运...
  10. 企业邮箱注册—企业微信邮箱2.0时代正式来临