Opened 8 years ago
Last modified 8 years ago
#5855 new Enhancement
Support reading DHT nodes from metainfo files (BEP-0005)
Reported by: | Copied | Owned by: | jordan |
---|---|---|---|
Priority: | Normal | Milestone: | None Set |
Component: | libtransmission | Version: | 2.84 |
Severity: | Normal | Keywords: | dht, metainfo |
Cc: |
Description
Please add support for bootstrapping DHT nodes from .torrent files. A .torrent can contain a 'nodes' key with a list of lists with hosts and ports to UDP nodes who know of clients interested in the file. This should help with speeding up decentralized torrents who are entirely trackerless.
Secondary, Transmission should support creating torrents with nodes lists as alternatives or supplementary to announce-lists.
From the relevant specification BEP-0005:
“A trackerless torrent dictionary does not have an "announce" key. Instead, a trackerless torrent has a "nodes" key. This key should be set to the K closest nodes in the torrent generating client's routing table. Alternatively, the key could be set to a known good node such as one operated by the person generating the torrent. Please do not automatically add "router.bittorrent.com" to torrent files or automatically add this node to clients routing tables.”
nodes = [[<host>, <int-port>], ["<host>", <int-port>], ...] nodes = [["127.0.0.1", 6881], ["example.com", 4804], ["::1", 51413]]
I’m not aware of anyone distributing metainfo files with nodes. As the legal war on trackers continues, this feature is something that should be ready to use. As an independent content producer, I also find it appealing to use DHT to distribute my own content. However, I would want to provide one good known node to ensure availability and fast first-piece-downloaded speeds.
Change History (2)
comment:1 Changed 8 years ago by cfpp2p
comment:2 Changed 8 years ago by Copied
This is on a per-torrent basis. A distributor could include nodes to their own servers that would act as DHT bootstrap or could report themselves as peers.
Deluge and uTorrent support this feature, although they have no UI for including the nodes data in torrents.
This can already be done in a different way if you want.
ticket:2280#comment:9
.
https://trac.transmissionbt.com/browser/trunk/libtransmission/tr-dht.c#L200