【最后】DHT告一段落

前面两个周末都在研究如何自动抓取、发现DHT网络中的内容,今天决定告一段落。

折腾成果:

实现了

  • 自动化发现每天的新增热门种子
  • 下载这些热门种子
  • 上传到GSuite,把文件存储下来

项目架构:

总结:

用了两个周末完成的这个事情,现在看起来:

没有任何意义

从P2P社区吸血、制造大量无用Traffic、滥用订阅的GSuite。不创造任何的价值。

在精力有限的情况下,要把时间花在有意义、有价值的事情上。下次周末投时间(人力)之前要问自己三个问题:

  1. 做这个有什么用?要花多长时间?投入产出比是否能够符合预期?
  2. 有更高优先级的事情可以做吗?
  3. 创造爱和快乐了吗?

【续集】看了一点DHT进阶的东西

这周末没有忍住,看了一点DHT进阶的东西。想出来一个无聊的主意:使用闲置的服务器,将DHT网络上的每日Top的热点种子下载下来保存到GoogleDrive中,做一个DHT Memory的项目。

类似这样的东西有

简单分下模块的话:

  1. 热门种子获取模块:通过定期抓取DHT网络中的数据,输出高热度的hash。
  2. 下载模块:接收待下载的hash,下载完成之后上传到GoogleDriver,之后删除本地文件。

热门种子获取

热门种子获取有两种方案:

  1. 自己抓取+热度分析。自动抓取可以使用之前说到过的 https://github.com/boramalper/magnetico,热度分析我写了一个小小的脚本 https://gist.github.com/imfht/71b5f27d78df5af8d68b2ca8976dca00
  2. 直接使用别人整理好的数据,比如 https://nyaa.si/提供的RSS服务

由于时间有限,1有点来不及,暂时没有做,使用2提供的RSS源简单过滤了下做种人数。

文件下载模块

文件下载我选用的是Aria2,实际上这个不是一个最优解,如果没有额外的脚本,Aria2无法做到自动上传文件到GoogleDriver。但是迫于时间有限,没有做更深入的研究了。

总结

如果想搬运DHT数据到GoogleDriver的话,可以:

  1. 直接用别人整理好的数据,直接走下载上传流程,可以省事很多。
  2. 换用一个支持下载临时目录和完成目录不同的网站,利用rclone挂载目录,也可以省事很多。

实现了一个非常beta的版本,基本流程都走通了,但是主要时间花在了如何使用dht-server获取用户做种数量上。

预计下周末来搞一个完整的版本。

看了一些DHT网络相关的东西

因为疫情的影响,今年端午一直没有出门,闲着无事看了一些DHT网络相关的东西。不求甚解,只图个好玩。

在说DHT网络之前,要先说P2P网络(Peer-To-Peer),P2P又叫做对等网络互联技术。在P2P网络中,各个节点都是平级的,没有客户端和服务端的概念。

BitTorrent是基于P2P网络的一种文件传输协议,运转原理:是:由中心化的Tracker服务器保存文件信息,当需要下载文件时候,由下载者向中心服务器询问文件在P2P网络中的位置信息(哪个IP拥有这个文件的哪些部分),然后下载机器通过P2P网络和其他机器进行文件传输。(这就是我们平时说的“种子”)。

上面提到的通信方式依赖于中心Tracker服务器,如果Tracker服务器存在网络问题或者宕机,会给整个BitTorrent带来毁灭性的打击(无法获取到文件在P2P网络中的信息,无法下载和交换文件),于是就诞生了DHT协议。

DHT的全称叫做分布式哈希表,通过定义infohash和nodehash、使用nodeid xor infohash来做距离判断。在发布文件的时候向infohash距离最近的Node广播文件(infohash)的信息,在在查找资源时使用同样的方法对距离最近的N个Node查找文件的信息。

原理说得差不多了,在玩儿的时候看到了一些好玩的东西在这里记录一下:

1. 基于DHT网络的爬虫

  1. https://github.com/shiyanhui/dht
  2. https://github.com/boramalper/magnetico

magnetico 自带了WebUI检索功能,推荐使用。

2. 1千万磁力链接

magnetico 使用SQLLite作为存储,在Issue中有人分享了自己的DHT爬虫数据,最多的DHT爬虫数据竟然有一千万条记录。

下载地址可见:https://tnt.maiti.info/dhtd/

3. 热心网友整理的Tracker

https://github.com/XIU2/TrackersListCollection

如果使用aria2的话还有一个小的脚本来更新aria2.conf的tracker列表

bash <(curl -fsSL git.io/tracker.sh) "/root/.aria2/aria2.conf"

如果文件不存在的话需要先创建文件

4. 一些磁力链接站

通过Google搜索磁力链接站可以获取到DHT网络的资源文件。

  • 通过搜索一些类似Final Cut Pro的关键词可以获得FinalCutPro的破解版,通过P2P网络下载,实测速度比百度网盘要块很多。
  • 通过搜索一些你懂的关键字,可以获得一些热心老司机整理的精彩合集,因为资源热门,下载起来也是十分方便。

最后:

因为一直有一点DataHoarder,如果有时间的话可以考虑改造一下爬虫,每天下载热度TopN的文件上传到不限流量的GoogleDriver里。(考虑到目前没有足够带宽的机器和时间,可能要很久很久之后才会做这个事情了

夏天就要到了

今天中午出门溜了一个弯,发现外面已经很热了,再一看日历,原来马上要立夏了。

因为疫情的影响和一些工作上的原因,生后逐渐变得没有节奏感了,节奏感要从遛弯儿开始。

早上收到一个邮件,一个朋友离职了

中午收到一个消息,另外一个好朋友也辞职了

夏天就要到了,祝我们都有光明的前途。

五一也快到了,也祝大家五一假期快乐。

网站迁移到腾讯云,使用TKE为大家提供服务

Hello朋友们,我把我的两个wordpress博客都搬到了腾讯云的容器服务(TKE)上,借助容器服务可以实现快速部署和扩容。

我的博客之前部署在GCE上,最近在学习k8s,调研了一下各个云厂商提供的k8s托管服务,发现还是腾讯云的最为便宜,只需要支付CVM和负载均衡的费用,对k8s提供免费的托管服务。

如果你对k8s感兴趣的话,可以试用一下腾讯云的TKE集群,链接:https://cloud.tencent.com/product/tke

我的2019杂记

2019年离开了深圳来到了北京,解决了异地,和女朋友开始同居。

2019年还做了一些其他的事情。

上面是2020年中旬的记录。

下面是2020年刚开始时候的记录,有一点乱,建议不看。

2019比2018少了一些浪漫色彩,脾气好了很多。

2019年分上下两个半年,先说上半年。

我和我的现任女友在2018年年中确定了男女朋友的关系。之后我们长期分局两地:她在北京,我在深圳。在2019年上半年我们解决了异地的问题:我在2019年6月来到北京工作,和女朋友张美丽小姐开始了同居的生活。其中得到和很多朋友们的帮助,到了北京之后也有很多的麻烦事情,这里先不表。

上半年看了不少演出,音乐节和LiveHouse的小演出都去了不少, 来北京之前蹦迪频率保持在 > 1月/次。学了一点架子鼓,看演出的时候也能看明白一些节奏和律动,感觉还是很有用的。

一个乐队在打鼓学校的演出

上半年尝试通过控制饮食来减肥,但是放弃了。原因是不吃真的很饿会导致睡不着觉。

有点发福的我,摄于2019.04.27

上半年搞了一次小的骑行,跨越深圳、东莞、广州、珠海。在荒郊野外洗了一个脚,未被诱惑,及时地停止了犯罪行为。

上半年去了一趟上海、南京、济南,这一趟玩得很开心,但是花了很多钱。加剧了我到北京之后的债务负担…

—————–分割线—————–

下半年的生活比较温馨,我和女友的同居生活进入了正轨。

因为周围的餐厅比较少,我学会了做一些菜,比如说:牛肉炒各种青菜、鸡肉炖各种蘑菇、以及大盘鸡、黄焖鸡、红烧鱼、水煮鱼等等等等。

北京城的晚霞

下半年入手了一些电子产品:他们是:一个小的NAS、一个能播放4k原盘的国产机器、一个Switch游戏机、腾讯的投影仪、组装的AMD台式机、Apple产的原装表带和原装保护套。(终于能用得起Apple原装配件了)。赶在年底购入了一个洗碗机,从此周末晚上也可以在家做饭了。

泰山啤酒 摄于2019.10.19

下半年看了很少的演出,投入了很多的精力在工作上,结果不能表,但是过程是很让人开心的。

一个金属乐的专场

八月的一个周末我和我的女友一拍脑袋,在宠物店领养了一个小猫咪,给我们的生活增添了很多的乐趣。

捕猎者 – 摄于2019.11.14

下半年因为到了北京,去了北京的一些旅游景点,能记得起来的有:故宫、天安门、颐和园、圆明园和天坛。去了北京周边的一些地区,回了一趟老家,去了两趟河南。

2020已经到了,祝我们都能够发财。