如何从DHT中提取种子文件?

d33*_*tah 3 bittorrent dht kademlia

我编写了一个简单的脚本,该脚本查找给定info_hash的示例对等IP。我在BEP-0005中看不到此类信息:如何实际上从DHT中提取种子文件?

the*_*472 5

DHT不提供种子。它只是提供各个信息哈希的对等列表。激流文件,或者说是不可变的信息字典,是由bittorrent群本身提供的。

您将必须部分实现BEP3BEP10以及最后的BEP9来执行元数据交换。此外,实现BEP29BEP11可以提供改进的连通性,这在检索小型集群中的元数据时可能很有用

其次,在不向DHT提供任何请求的情况下重复消耗DHT的资源,或者反复向其发送请求的节点(尤其是引导节点)被认为是无礼的。如果您打算获取大量的torrent文件,则应将DHT节点作为守护程序运行,例如通过Juliusz Chroboczek的dht lib(C)或mine(java)。我的实现还包含元数据检索服务。libtorrent还应该提供所有必要的部分来实现相同的目的。