[edit] Multiple trackers
BEP-0012[4] extends BitTorrent to support multiple trackers.
A new key, announce-list, is placed in the top-most list (i.e. with announce and info). This key's value is a list of URLs of trackers:
{
...
'announce-list': [ "http://tracker.openbittorrent.com/announce", "http://bttracker.debian.org:6969/announce"]
...
}
[edit] HTTP seeds
BEP-0017[5] extends BitTorrent to support HTTP seeds.
A new key, httpseeds, is placed in the top-most list (i.e. with announce and info). This key's value is a list of web addresses where torrent data can be retrieved:
{
...
'httpseeds': ['http://www.site1.com/source1.php', http://www.site2.com/source2.php']
...
}
[edit] Private torrents
BEP-0027[6] extends BitTorrent to support private torrents.
A new key, private is placed in the top-most list (i.e. with announce and info). This key's value is 1 if the torrent is private:
{
...
'private': 1
...
}
[edit] Merkle trees
BEP-0030[7] extends BitTorrent to support Merkle trees.
A torrent file using Merkle trees does not have a pieces key in the info list. Instead, such a torrent file has a root hash key in the info list. This key's value is the root hash of the Merkle hash:
{
...
'info': {
...
'root key': e6bdebcc5d55da0a77f4bb1b57d88de794838577
...
}
...
}
[edit] Examples
[edit] Single file
Here is what a de-bencoded torrent file (with piece length 256KB = 262144 bytes) for a file debian-503-amd64-CD-1.iso (whose size is 647MB = 678301696 bytes) might look like:
{'announce': 'http://bttracker.debian.org:6969/announce'
'info': {'name': 'debian-503-amd64-CD-1.iso',
'piece length': 262144,
'length': 678301696',
'pieces': '841ae846bc5b6d7bd6e9aa3dd9e551559c82abc1 ... d14f1631d776008f83772ee170c42411618190a4'
}
}
Note: pieces here would be a ceil(length/piece length) * 160-bit = ceil(678301696/262144) * 160-bit = ceil(2587.515625) * 160-bit = 2588 * 160-bit = 414080-bit = 51KB value.
[edit] Multiple files
Here is what a de-bencoded torrent file (with piece length 256KB = 262144) for a foo might look like:
{'announce': 'http://tracker.openbittorrent.com/announce',
'info: {'name': 'directoryName',
'piece length': 262144',
'files': [ {'path': '111.txt', 'length': 111},
{'path': '222.txt', 'length': 222}
],
'pieces:' '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb ... 8a43d9d965a47f75488d3fb47d2c586337a20b9f'
}
}
[edit] References
[edit] External links