27 October 2016

BitTorrent Tracker Theory

BitTorrent Trackers are Hyper Text Transfer Protocol (HTTP) or User Datagram Protocol (UDP) servers that keep a list of peers associated with an info_hash and return that peer_list when queried. Thus, at their core, trackers have no knowledge of the files clients are exchanging. Some trackers are configured to only keep peer_lists for certain info_hashes (registered torrents) or to only return the peer_list to certain query requests (registered peers). In common parlance, some websites operate as front-ends for tracker software so are referred to as "trackers." This is technically incorrect, but this diction shall be used going forward.

Prerequsite: Introduction to BitTorrent Protocol, Beginner's Guide, WikiBooks, Wikipedia

Types of Trackers:

Some "trackers" transfer the peer_list when queried (a.k.a. "track") arbitary info_hashes (a.k.a. torrents), some limit their content with either a black-list or white-list approach. Some are open to registration, others are closed. Some require specific content in the query request, such as a "secret" key or meta-data matching a pre-approved BitTorrent client list, and others ignore meta-data completely.

  • :More Public:
    1. Trackers with no user registration that track arbitary info_hashes (tracker.openbittorrent.com/announce) -dead
    2. Optional open user registration trackers that arbitary info_hashes (thepiratebay.org [TPB] 2008)
    3. Optional open user registration trackers that limit torrents (nyaa, anidex.moe)
    4. Mandatory meta_file uploader registration, no user registration trackers that limit torrents (tracker.minglong.org)
    5. Mandatory open user registration trackers that limit torrents (BakaBT)
    6. Closed/Invite-only registration trackers that track arbitary info_hashes
    7. Closed/Invite-only registration trackers that limit torrents
  • :More Private:
  • Other Examples: anirena.com, minglong.org, Nyaa, TT, ani-index.moe, forum.touki.ru/open.php, BakaBT, PTP, ADC, U2, BTN, x254.me, aB, Myspleen, CC etc
  • In addition indexing sites merely provide links to meta-files (a.k.a. myfile.torrent) hosted by other sites or provide Magnet links (a string containing an info_hash and a list of trackers for it).
  • Index sites: Tokyo Toshokan (TT), Torrentz.eu -dead now, TPB 2016

With DHT, the DHT servers, or "nodes," are not specific to the BitTorrent protocol (unlike trackers) but fulfill the similar function of facilitating peer discovery.

Backend Tracker Software:

Since trackers are meant to be always active on high performance connections and require constant maintenance, it is not recommended to run one. Use existing trackers instead. However if interested, here are a few:

  • Chihaya, open source, Go, TCP and UDP, high performance, rising popularity
  • OpenTracker, open source, C, TCP and UDP, high performance, most popular tracker
  • Ocelot, open source, written in C++, TCP only, medium performance, emphasis on private tracker features (?)
  • py3bt_tracker, open source, Python, TCP only, ultra low performance, 100% standalone with precompiled binaries

Further Reading:

No comments:

Post a Comment