作者: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个扩展协议:
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。如果有人发现了,希望您能告诉我,谢谢!

攻城诗赋:
第三种比特彗星成功率也很高,而且貌似不净网。至于hash的算法是
hash转回20字节形式前加“bc”后加"torrent"共29字节做SHA1得到20字节转回可读40字节形式

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

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

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

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

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

linux下可以这样转

echo -n 03621694F0E8B2CE87216C99CB5CA3AF23029E37 | xxd -r -p|./perl_32.pl

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

  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";

如果权限不对记得要

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

磁力链接转换为种子文件 magnet to torrent相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 关于NameError: name ‘sns‘ is not defined->ModuleNotFoundError: No module named ‘seaborn‘错误提示
  2. 安装nginx及依赖包
  3. DeepLearning based on PaddlePaddle系列一
  4. Git打标签(Tag)(亲测)
  5. PHP无刷新上传面向过程写法iframe
  6. C语言入门基础之输入和输出
  7. 腾讯 深圳 25928-PHP开发工程师(深圳)
  8. curaengine linux编译,CuraEngine开源程序解读
  9. VS2005 Extjs智能提示插件
  10. ES6新特性_ES6语法糖_class静态成员---JavaScript_ECMAScript_ES6-ES11新特性工作笔记034
  11. LoadRunner学习笔记
  12. mysql汽车网站数据库设计_基于数据库和JAVA的网上汽车租赁管理系统的设计(MySQL)...
  13. msgbox php,VBA消息框(MsgBox)
  14. 众数和中位数的应用题_什么是众数和中位数
  15. win7虚拟机_win10使用hyperV创建虚拟机
  16. Ubuntu 20.04 更新软件依赖,源 ,删除软件三个常用指令
  17. WED.文件操作补充及函数
  18. 全球及中国暗箱针孔相机行业竞争格局及十四五投资规划建议报告2021-2027年版
  19. 高等代数 线性映射(第9章)4 约当标准型与相抵标准形
  20. ios浏览器微信支付回调页面_iOS集成H5微信支付实现跳转与回调的解决方案

热门文章

  1. 软件开发项目经理职责
  2. 梅科尔工作室-江凌宇-鸿蒙笔记4
  3. 中学教师资格考试真题及答案
  4. 培养意志力的黄金法则
  5. javaweb mysql购物车_javaweb购物车实现的几种方式
  6. 【Linux】Linux的内核空间(低端内存、高端内存)
  7. 新手怎么重装系统?只需3步看完小白也会装!
  8. linux开机自启jar包
  9. #define宏加括号和不加括号的区别
  10. pandas操作excel文件,替换目标值