如果我有一个没有任何跟踪器的torrent,并且我刚刚启动了bittorent客户端,所以我还没有任何peer,那么我如何知道在DHT中首先连接谁?看起来我至少需要知道DHT中的一个节点才能开始...
router.utorrent.com
和指向它的CNAME router.bittorrent.com
,端口为6881
。当一个BitTorrent客户端连接到DHT时,有一个最初的位置它去寻找对等节点。使用原始的BitTorrent客户端,有一个指向bittorrent.com的URL来帮助启动下载。我试图查找参考资料但是没有找到。一旦你与其他客户端建立了连接,就可以在DHT网络上做一个announce
来查找你要下载的种子的对等节点。
这里是讨论DHT的BitTorrent规范的链接。
无跟踪器的种子词典没有“announce”键。相反,无跟踪器的种子有一个“nodes”键。该键应设置为种子生成客户端路由表中K个最接近的节点。或者,可以将该键设置为已知的好节点,例如由生成种子的人操作的节点。请不要自动将“router.bittorrent.com”添加到种子文件中或自动将此节点添加到客户端的路由表中。
get_peers()
甚至抽象的get()
方法来查找节点的。 - gsk节点
,以便您与 DHT 连接(实际上在创建 torrent 文件时建议这样做)Transmission
在没有其他方式获取对等节点时,会使用一个硬编码的引导节点用于dht:
bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
我猜每个种子客户端都会使用自己的引导节点。
这里是我遇到的主要节点。
dht.transmissionbt.com 6881
router.bittorrent.com 6881
router.bitcomet.com 6881
dht.aelitis.com 6881
bootstrap.jami.net 4222