这周末没有忍住,看了一点DHT进阶的东西。想出来一个无聊的主意:使用闲置的服务器,将DHT网络上的每日Top的热点种子下载下来保存到GoogleDrive中,做一个DHT Memory的项目。
类似这样的东西有
- https://iknowwhatyoudownload.com/ 通过DHT爬虫抓取到每个IP在DHT网络中下载过的文件
- https://nyaa.si/ 一个BT种子共享社区,提供RSS订阅
简单分下模块的话:
- 热门种子获取模块:通过定期抓取DHT网络中的数据,输出高热度的hash。
- 下载模块:接收待下载的hash,下载完成之后上传到GoogleDriver,之后删除本地文件。
热门种子获取
热门种子获取有两种方案:
- 自己抓取+热度分析。自动抓取可以使用之前说到过的 https://github.com/boramalper/magnetico,热度分析我写了一个小小的脚本 https://gist.github.com/imfht/71b5f27d78df5af8d68b2ca8976dca00
- 直接使用别人整理好的数据,比如 https://nyaa.si/提供的RSS服务
由于时间有限,1有点来不及,暂时没有做,使用2提供的RSS源简单过滤了下做种人数。
文件下载模块
文件下载我选用的是Aria2,实际上这个不是一个最优解,如果没有额外的脚本,Aria2无法做到自动上传文件到GoogleDriver。但是迫于时间有限,没有做更深入的研究了。
总结
如果想搬运DHT数据到GoogleDriver的话,可以:
- 直接用别人整理好的数据,直接走下载上传流程,可以省事很多。
- 换用一个支持下载临时目录和完成目录不同的网站,利用rclone挂载目录,也可以省事很多。
实现了一个非常beta的版本,基本流程都走通了,但是主要时间花在了如何使用dht-server获取用户做种数量上。
预计下周末来搞一个完整的版本。