繁体   English   中英

PHP DHT 信息哈希列表?

[英]PHP DHT info_hash list?

我想(通过 PHP)收集当前正在下载的 info_hashes 或搜索 DHT。

我见过 BTDigg 将 DHT 用于搜索引擎,我想做类似的事情。

另外,在获得哈希后,如何将 hash 转换为 torrent,以便获得标题等信息? (再次使用 PHP 通过 DHT)。

我首先尝试研究 -查询 DHT 服务器尝试通过 PHP 运行 DHT 查询,我尝试进行修改但我没有运气。 我也试过http://projects-deim.urv.cat/trac/p2pweb/browser/trunk/dht/dht_agg?rev=1但它给了我几个错误,经过多次修复后它仍然没有用。

要实现 DHT 节点,您可能需要阅读 DHT 规范:

http://www.bittorrent.org/beps/bep_0005.html

它描述了消息格式。 如果您不熟悉底层 DHT,您可能还需要阅读 kademlia 论文:

Kademlia:基于异或度量的点对点信息系统

一旦你在 DHT 上启动并运行,并且你开始看到信息散列飞过,你需要实现一个 bittorrent 客户端。 或者至少是为了建立对等连接并讨论 bittorrent 协议的一个子集,这里描述的是:

http://www.bittorrent.org/beps/bep_0003.html

您大多只需要能够建立 TCP 连接和握手,就好像您什么都没有一样。 然后,要下载元数据(或 .torrent 文件),您需要支持位于通用扩展协议之上的ut_metadata扩展,如下所述:

http://www.bittorrent.org/beps/bep_0010.html

ut_metadata 扩展在此处描述:

http://www.bittorrent.org/beps/bep_0009.html

那些你有你看到的散列的元数据,你基本上应该被设置。 然后就是从 torrent 文件中提取和索引信息,例如名称、文件名、文件大小等(实际上,您最终得到的是 torrent 文件的信息词典,但这是重要的部分)。

鉴于这是一项相当多的工作,您可能想看看使用已经执行此操作的库,并以某种方式将它们拉入 php。例如,您可能想看看libtorrent

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM