Distributed tracker

From VuzeWiki
Jump to: navigation, search

What does it do?[edit]

At the moment the Distributed Tracker is the only core plugin that makes use of the DDB. It can register a torrent under it current hash as key (on the DHT level it is the SHA-1 of the info-hash and not the info-hash itself) and the external IP address and Port number on the DDB. Other peers can look up those addresses and initiate a peer-peer connection, thus it's operating like a normal tracker.

Please note that it is sufficient to locate a handful of valid peers through the Distributed Tracker since through PEX Azureus is able to locate other users without putting additional load on the DDB.

Uses[edit]

  • given the case that a tracker is down the Distributed Tracker will automatically register the torrent on the DDB to provide a fallback for Azureus peers
  • the Magnet Link implementation uses those entries to locate peers that can provide the .torrent file.
  • Azureus can create decentralized torrents that don't require a tracker and thus don't have a single point of failure. The downside is that currently no other Client is able to connect to those torrents
  • Virtual torrents (i.e. for the ChatPlugin) to provide a mean of fast data transport for arbitrary messages through the Azureus messaging protocol for many peers

Azureus users can switch it from the fallback only to always use behavior by disabling the check-box under Tools -> Options -> Plugins -> Distributed Tracker, which will enable other peers to locate the torrent through magnet links. But please be aware that that puts additional load on the DDB especially when you run many torrents at once, thus the developers propose not to use this option.

Torrent creators can explicitly prevent (even when the tracker is down) or request (instead of fallback only behavior) the use of the Distributed tracker through flags in the .torrent file.

Permanent DHT tracking[edit]

To explicitly request DHT tracking of a torrent even when its legacy tracker is up and running you can add the following dictionary entry to the .torrent file (outside the info dictionary, opposing to the private flag):

18:azureus_propertiesd17:dht_backup_enablei1e20:dht_backup_requestedi1ee

Note: Setting those flags usually has no huge benefit besides it guarantees that a Magnet Link to this torrent will work. You shouldn't use that flag when you expect the tracker to be healthy.

Note for private tracker communities (disabling DHT)[edit]

Azureus' distributed database won't interfere with the normal tracker-client communication since it's only a fall-back mechanism and doesn't kick in on healthy torrents unless explicit specified by the users. Azureus will return the uploaded/downloaded/remaining values to the tracker as usual. As long as the torrent stays private and has a unique infohash (which is not publicly available) there are no other peers that are outside the swarm than those known by the tracker.

If you want to ensure the swarm can't be compromised even if the infohash or the torrent file is leaked into public please read the page on private torrents. Please note that disabling the entire DDB usually isn't in the interest of the users since it provides a fallback-tracker for public torrents, hence it is recommended to either use the private flag (server-side measure) or disable PEX and DHT for the specific torrent through a right-click on the torrent -> advanced -> peer sources -> disable "decentralized tracking" and "supplied by another peer" (client-side measure)