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扛不住。
安装&运行方法
详细的使用方法请查看部署文档
其他内容查看
磁力搜索站点演示