展会动态

想做个磁力链搜索引擎 1

日期:2020-08-12 02:47 作者:现金捕鱼

  授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

  授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。

  java new String(a)创建了几个对象

  版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

  自己一个人鼓捣了几天了,第一步的进度才迈出第一步。。。。不知道最后能不能实现。

  磁力链和种子是两种东西,这首先要分得清。磁力链实际上是bt协议的一个拓展协议。(这里是bt协议的地址)

  虽然参数很多,但磁力链中最关键的部分是最前面那串hash加密的特征码。这个特征码是对种子进行hash加密得到的,类似资源的身份证,只要你有这个身份证,就可以找到该资源,其他参数实际上省去也没什么关系。

  第一种方法。其实就是上网找可用的种子库,利用别人存储的种子库找到资源。这种方法最便捷。最常见的种子库当然是迅雷啦。不过迅雷的种子库早关闭了。我抓包抓了半天也没分析出它现在的请求结构。不过在网上逛了半天,倒是让我找到了一个种子库

  1.为什么全是乱码。这主要是用于种子文件的主体部分是hash校验码,sha1 的hash校验码是由20个字节组成的,一个字节有8位,而一个16进制数只有4位,所以实际上20个字节压缩了40个16进制数。如AA这个16进制数为编码的时候为10101010,并不是00001010 00001010,我们从网上将种子文件下载下来以后,编码什么的都是按字节读取编码的,所以对于AA计算机将其看成一个字节了,如果是utf8编码,它会找对应的字符,如果字符在utf-8中没有映射,则会报错,有映射但是不可显示,就会一堆乱码。

  当然,还有一些乱码是由于编码格式不正确,例如一些标题乱码。这个在编码的时候转化一下就好了。主要还是hash校验码显示乱码

  2.种子文件是利用bdecode编码的。不了解的可以百度一下。所以,如果要解析出文本,我们还需要对于文本进行解码。解码这个还是比较麻烦的,网上有一些bdecode解码的包,也有用c,用php写的代码,试了几个,有些问题。而且,不太符合我的期望。我就自己写了一个。解码主要思路是利用编译的方法,自顶向下分析得到语法分析树,再进行切分,编码主要就是利用回填的方法,编码比解码简单多了。有兴趣的可以看看,代码放在最后。

  种子文件中包含了资源的目录信息(该资源含有哪些信息),资源的发布者,资源大小,各片段的hash校验码等等,贴上一张我解析出来的种子结构

  我将种子中的bencode格式的文本,转化为了json格式的文本。将hash加密后得到的乱码数据,转化为了10进制的数据。一个十进制数表示两个16进制数合并。

  piece length:每个文件块的大小,用Byte计算,其实就是文件的分块,bt资源文件是分块传输并加密的。这个表示分块的大小。

  pieces:各分块hash校验码,一块校验码长度为20字节(注意是字节,表示成16进制实际上有40个数字,因为一个16进制数占4位)。故pieces总长为20的整数倍。我再代码中将其都切分出来了弄成一个列表了。

  node:最后的一个字段是nodes字段,这个字段包含一系列ip和相应端口的列表,是用于连接DHT初始node (这个我这个种子里没有)。

  如今,在网上求资源,再也不像以前一样需要繁琐的去寻找Torrent文件、图种以及五花八门格式各样的种子文件。只需要一小段“magnet:?xt=urn:btih:”开头的字符串即可完成下载操作。那么,这一小段字符串究竟是什么?为什么有这么神奇的功效呢?下面我们就来一探究竟。2009年时,很多BT服务器被迫关闭,不仅仅是很多种子文件从此销声匿迹,就连BT Tracker服务器也停止解析工作,这时......

  本人是一个bt种子搜集爱好者,最近爱上了这个东西,大家懂得,在这以我的小有经验跟大家分享下推荐一、种子搜索站:原因:这个站是小编自己的啦,趁机推广下咧,好用实在。希望大家都满意,随便搜索,资源丰富,比你

  象的更多。推荐二、原因:这个站是国外的站点,比较老,资源也非常丰富希望大家会喜欢。里......

  接,简单的说(Magnet URI scheme):类似下面这样以“magnet:?xt=urn:btih:”开头的字符串,就是一条

  接”的主要作用是识别【能够通过“点对点技术(即:P2P)”下载的文件】。这种

  接是通过不同文件内容的Hash结果生成一个纯文本的“数字指纹”,来识别文件的。而不......

现金捕鱼