磁力搜索引擎-RunBt
来源:互联网 发布:php绑定多ip多域名 编辑:程序博客网 时间:2024/04/28 13:26
一直从事linux服务器分布式文件系统的开发,由于经常在btdigg和torrentkitty等磁力搜索网站找资源,于是就有了自己动手写一个类似网站的冲动,经过了大半年的努力,磁力链接搜索引擎RunBt终于完成开发,正式上线了(http://www.runbt.com),开发的过程很艰辛,不再详述,直接说原理:
通过DHT协议爬取种子文件的hash值
DHT(Distributed Hash Table,分布式哈希表)类似Tracker的根据种子特征码返回种子信息的网络。DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。新版BitComet允许同行连接DHT网络和Tracker,也就是说在完全不连上Tracker服务器的情况下,也可以很好的下载,因为它可以在DHT网络中寻找下载同一文件的其他用户。
通过加入DHT网络,可以轻松的每天获取百万的hash值,每个hash值都是由一个BT种子文件产生的。
下载BT种子文件
实际上,通过hash就能知道磁力链接了,但只有这些是没有任何意义的,因为你不知道这个链接包含的文件名是什么,象迅雷,旋风等下载下载工具通过磁力下载这些种子的时候,下载工具会到内部服务器的种子库里去查找,通过hash值,可以搜索出位于该服务器上的BT种子位置,然后下载这个种子。也就是说,用某一个下载工具通过磁力链magnet下载torrent文件,并不是每次都一定能下载成功。通过dht也能下载种子,但速度极慢,几乎不可接受,国外有几个种子缓存网站象zoink.it和torrage.com等,可以为下种提供大大的方便。
分析BT种子文件。
提取BT种子文件名,文件大小,创建日期等摘要信息,并通过BT种子文件计算得到hash值(嘿嘿,有了这个,就有了传说中的磁力链接)。这部分的工作相对容易,只需要对种子文件格式有详细的了解即可,网上的相关的文档一大堆。
把BT种子文件摘要信息存入数据库
数据库最基本的字段包括文件名,文件列表,文件大小,创建时间,索引时间,hash值等,但由于文件数量众多,设计数据库时需要考虑性能问题。
建立数据库的搜索索引
这个可以使用任何的开源搜索引擎(如lucence,sphinx等),使用的过程并不复杂,但需要对搜索引擎的工作机制有一个基础的了解。
建立网站。
我使用的php做前端页面,目前网站已经收录了2千多万条资源,几乎包括所有的电影(最新电影都会第一时间收录),也有大量的音乐,软件等资源,网站截图如下:
runbt磁力搜索链接:http://www.runbt.com
- 磁力搜索引擎-RunBt
- 磁力搜索引擎-RunBt
- 不一样搜索引擎-磁力搜索
- 磁力链接搜索引擎源码下载
- 各大磁力种子搜索引擎对比
- 基于DHT网络的磁力搜索引擎上线
- 手撕包菜磁力搜索引擎的开源说明
- 各大磁力种子搜索引擎对比
- 自己写了个磁力链搜索引擎
- python语言磁力搜索引擎源码公开,基于DHT协议
- 纯C#实现的DHT爬虫和磁力搜索引擎 - btcherry.com
- 磁力链接
- 磁力链接
- 磁力搜索
- 磁力悬浮
- 电磁力天平
- JQuery 磁力图片
- 能量守恒定律/磁力永动机
- java 异常之Caused by: java.lang.UnsatisfiedLinkError:
- Reverse Linked List II
- unix练习-线程互斥量
- JAVA面试700问
- 关于用OpenCV捕捉摄像头设备
- 磁力搜索引擎-RunBt
- lightoj 1349 - Aladdin and the Optimal Invitation 贪心 中位数
- CentOS 6.3开机启动服务及自动联网
- 关于mysql定时器用法
- STM32 USB数据接收与数据发送程序流程分析
- 将类定义放在头文件arraymax.h中(第二章第五题)
- 在WIN7下使用Android开发工具adb调试MX4
- unix练习 - 忘了当初写的啥来着 - -|||下次写注释
- 安装Drools后,在Eclipse页面并未显示drools快捷图标