最近研究了一下磁力链magnet和BT种子torrent文件之间的相互转换。其实通过torrent文件获得磁力链实现起来比较简单,但反过来并非是一个可逆的过程,磁力链转BT种子理论上来说是不可能实现的。

一个可以提供下载的磁力链,比如:magnet:?xt=urn:btih:51df6808c739174c8f264701ba94460c5238d6ce,只包含了一个有效信息,那就是种子的hash值,其它可选部分省略了。这里没有种子内部包含的文件列表,磁力链没有BT种子构成的所有基本需要。

那应该怎么转换成BT种子呢?
    实际上通过一些下载工具下载这些种子的时候,下载工具会到内部服务器的种子库里去查找,通过hash值,可以搜索出位于该服务器上的BT种子位置,然后下载这个种子。也就是说,用某一个下载工具通过磁力链magnet下载torrent文件,并不是每次都一定能下载成功。
    既然原理清楚了,我们大可以自己编写一个磁力链到BT种子的转换工具,但需要一些公开的BT种子库的接口?

目前的可用接口:

磁力链:
magnet:?xt=urn:btih:f8181597b51c157fb470e5ee236e364c6fbc2af2

btbox:
http://bt.box.n0808.com/F8/F2/F8181597B51C157FB470E5EE236E364C6FBC2AF2.torrent构造方法:取磁力链的hash部分,全部转换大写, 格式化如下http://bt.box.n0808.com/hash最前面两位/hash最后面两位/hash.torrent,注意大写!

BitComet:
http://torrent-cache.bitcomet.org:36869/get_torrent?info_hash=F8181597B51C157FB470E5EE236E364C6FBC2AF2&size=226920869&key=BC2DAAD2A0F79E0A4EEB831CBA5BD7DADB38D146
构造方法:info_hash字段是已经知道的,但是key字段的计算方法暂时还不知道,有一个人分析了算法,并封装了一个COM,感兴趣的可以看看去。http://www.cnblogs.com/UMU618/articles/2568579.html

Vuze的种子库:
http://magnet.vuze.com/magnetLookup?hash=7AMBLF5VDQKX7NDQ4XXCG3RWJRX3YKXS构造方法:7AMBLF5VDQKX7NDQ4XXCG3RWJRX3YKXS是f8181597b51c157fb470e5ee236e364c6fbc2af2的Base32编码。

PS:如果有人发现新的可以的BT种子库,请通知我一声!

根据以上提供的BT库,我编写了一个magnet转torrent文件的工具,集成了以上提到的接口。经过我个人测试,能解析成功的magnet链接还算支持比较全面,有需要的可以下载。

 
 

据磁力链获得BT种子的更多相关文章

  1. 利用迅雷提供的接口从磁力链得到bt种子文件

    本地下载工具的磁力链下载速度不给力,而百度云盘有提供离线下载服务,相当于就是直接到服务器取个链接而已.但这需要bt文件,而我只有链力链.网上搜了一下,可以从磁力链构造一个bt文件的下载地址,用pyth ...

  2. 使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)

    使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源) 先直接上程序界面,了解整体工作流程是什么样子的,求服务器进行挂机测试,需要固定IP,空间大概需要10G左右(主要是BT种子占用空间 ...

  3. [搜片神器]使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)

    谢谢园子朋友的支持,已经找到个VPS进行测试,国外的服务器:http://www.sosobta.com   大家可以给提点意见... 出售商业网站代码,万元起,非诚勿扰,谢谢. 联系h31h31 a ...

  4. DHT协议网络爬虫磁力链接和BT种子搜索引擎

    系统功能和用到的技术. 系统包括几个独立的部分: 使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子: 使用 PHP CI 框架开发的简易网站: 搜索引擎目前直接使用的 ...

  5. 迅雷磁力链接转BT种子工具

    种子文件目录:C:\Users\jifeng\AppData\Local\Temp\magnetex MagnetEx.exe 从迅雷5.8支持磁力链接的无视受限资源版提取 MagnetEx.exe ...

  6. [搜片神器]BT种子下载超时很多的问题分析

    继续接着第一篇写:使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)[搜片神器] 谢谢园子朋友的支持,已经找到个VPS进行测试,国外的服务器: h31bt.org  大家可以给提点意 ...

  7. 根据hash值找到bt种子的磁力下载链

    根据hash值找到bt种子的磁力下载链- 画皮2 hash:E5757D533B3690774519E6A80021E43C03A58C0B 磁力 下载链接 如下: magnet:?xt=urn:bt ...

  8. 实战Python实现BT种子转化为磁力链接

    经常看电影的朋友肯定对BT种子并不陌生,但是BT种子文件相对磁力链来说存储不方便,而且在网站上存放BT文件容易引起版权纠纷,而磁力链相对来说则风险小一些. 将BT种子转换为占用空间更小,分享更方便的磁 ...

  9. Linux使用Aria2命令下载BT种子/磁力/直链文件 转载

    Linux使用Aria2命令下载BT种子/磁力/直链文件 博主: Rat's 发布时间:2017 年 10 月 10 日 26725 次浏览 8 条评论 1073 字数 分类:主机教程 首页 正文 分 ...

随机推荐

  1. hadoop中,combine、partition、shuffle作用分别是什么?

    combine和partition都是函数,中间的步骤应该只有shuffle! combine分为map端和reduce端,作用是把同一个key的键值对合并在一起,可以自定义的.combine函数把一 ...

  2. js--学习方法之2-转

    再说几点忠告 1,不要着急看一些复杂网页效果的代码,这样除了打击你自信心,什么也学不到.没达到一定的武功水平,割了小JJ也学不会葵花宝典的. 2,别急着加技术交流QQ群,加牛人QQ.如果你找张三丰交流 ...

  3. 《JS权威指南学习总结--第九章 类和模板》

    内容要点: 一. 1.第六章详细介绍了JS对象,每个JS对象都是一个属性集合,相互之间没有任何联系.在JS中也可以定义对象的类,让每个对象都共享某些属性,这种"共享"的特性是非常有 ...

  4. SERVICE_USE_PID

    openwrt中启动脚本中经常出现如下一句: SERVICE_USE_PID=1 例如 lldp启动脚本 lldpd.init中如下: #!/bin/sh /etc/rc.common # Copyr ...

  5. Linux中kettle启动spoon.sh遇到的问题

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAccAAAAYCAIAAAAAgaGrAAAE1klEQVR4nO1b2ZWrMAylLgpyPa7Gzb

  6. php 积少成多!

  7. 再次深入 C# Attribute

    了解attribute Attribute 只是将一些附加信息与某个目标元素关联起来的方式. Attribute 是一个类,这个类可以提供一些字段和属性,不应提供公共方法,事件等.在定义attribu ...

  8. 写一个CGI程序并运行

    准备Linux和Apache我在/var/www/cgi-bin/下建一个文件get.c #include <stdio.h> #include <stdlib.h> int ...

  9. IP子网掩码格式转换

    def exchange_maskint(mask_int): bin_arr = [' for i in range(32)] for i in range(mask_int): bin_arr[i ...

  10. Linux查找文件中的字符串命令

    grep -nr 'archermind' -r, --recursive Read all files under each directory, recursively, following sy ...