欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AntColony 磁力搜索BT引擎的核心

程序员文章站 2023-09-28 21:34:32
介绍 AntColony(Github)是findit磁力搜索引擎的核心。用来在DHT网络中,收集活跃资源的infohash,下载并解析资源的种子文件,存入数据库等。AntColony是若干功能的合集,也可以单独运行其中的部分功能,所以起“蚁群”这个名字也是很贴切的(没错,我就是爱动物世界)。主要分 ......

介绍

antcolony(github)是findit磁力搜索引擎的核心。用来在dht网络中,收集活跃资源的infohash,下载并解析资源的种子文件,存入数据库等。antcolony是若干功能的合集,也可以单独运行其中的部分功能,所以起“蚁群”这个名字也是很贴切的(没错,我就是爱动物世界)。主要分一下几块:

  • worker:爬虫,收集资源infohash,可以同时启动多个进程的worker,提高效率
  • male:根据收集来的infohash去下载种子文件
  • female:将种子文件录入数据库
  • queen:简单的入口,启动pm2运行worker,male和female

目前启动5个worker使用3000-3004的端口,2个male和1个female。

使用mongodb储存数据,这没什么好说的;使用pm2维护和监控node进程,也没太多要说的,重点说下redis。redis里暂存的数据大概是这样的:

  • bucket:比较大的一个k桶
  • infohash:就是已经收集到的infohashs(worker收集来的,male会用来下载种子)
  • remotenodes:worker新认识的节点,会依次“拜访”的,目前只保存最新的10w个(一方面我的vps内存小,另一方面真没必要记录太多)
  • sysinfo:记录一些统计信息,例如发出多少次请求,累积收集多少infohashs,目前已经发出15亿次request,这个频率是可控的,worker 太疯狂的话,vps扛不住。

安装&运行方法

详细的使用方法请查看部署文档
其他内容查看 

 

磁力搜索站点演示

 

磁力搜索网站汇总每日更新