BitTorrentTrackerExtensions

From TheoryOrg
Jump to navigation Jump to search

re the Tracker protocol extensions that are in use:

announce

A normal tracker response with no extensions looks something like:

d8:intervali3600e5:peersld2:ip13:192.168.24.527:peer id20:{peer''id}4:porti2001eed2:ip11:192.168.0.37:peer id20:{peer''id}4:porti6889eeee

nopeerid The peerids are excluded from the response. The peers_ section is a list of dictionaries containing the ip and port:

d8:intervali3600e5:peersld2:ip13:192.168.24.524:porti2001eed2:ip11:192.168.0.34:porti6889eeee

This is an old extension, which was short lived. Compact is a preffered to "nopeerid".



compact This extension requests that the tracker only sends peer IPv4 addresses (no DNS hostnames or IPv6) without peer ID's, with the intended benefit of saving bandwidth. To request that the tracker use this extension, add "compact=1" to the request URI. The peers section is returned vending machines] in binary, without the peerids. The peers_ section is a string containing the binary representation of the ips and ports according to some made. Each peer takes 6 bytes in the string and is in the following format:
192.168.24.52:2001 => 0xC0 0xA8 0x18 0x34 0x07 0xD1
Each octet of the IP address is one byte. The port (16-bit value) takes two, and is in network-byte order (big-endian)

d8:intervali3600e5:peers12:{12 characters of binary data}e

While many in the BitTorrent community support "compact," it is a bad extension since it does not support IPv6. [[]]