| advertise add site services publishers database health videos | ![]() | about toolbar stats live show health store more stuff JOIN/LOGIN |
Hentai fobia torrent personaltrainerbusinessto... | Fleshlight torrent surgicalopinion.ca | The AGE-Breaker TRC4186 From Torrent Pharmaceuticals fightaging.org |
A torrent file stores metadata used for BitTorrent. It is defined in the BitTorrent specification[1]. A torrent file contains the URLs of multiple trackers and integrity metadata about all the pieces. It can also contain additional metadata defined in extensions to the BitTorrent specification[2]. These are known as "BitTorrent Enhancement Proposals". Examples of such proposals include metadata for stating who created the torrent, and when.
[edit] File structureA torrent file is a bencoded dictionary with the following keys:
And exactly one of length (corresponds to when only one file is being shared) or files (corresponds to when multiple files are being shared):
All strings must be UTF-8 encoded. Extensions to BitTorrent define more keys. [edit] Extensions[edit] Draft extensionsThese extensions are under consideration for standardisation. [edit] Distributed hash tablesBEP-0005[3] extends BitTorrent to support distributed hash tables. A trackerless torrent dictionary does not have an announce key. Instead, a trackerless torrent has a nodes key: { ... 'nodes': [["<host>", <port> ], ["<host>", <port>], ...] ... } For example, 'nodes': [["127.0.0.1", 6881], ["your.router.node", 4804]] The specification recommends that nodes "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." [edit] Multiple trackersBEP-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 seedsBEP-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 torrentsBEP-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 treesBEP-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 fileHere 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 filesHere 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
| ||||||||||||||||||||||||||||||||||
| ↑ top of page ↑ | about thumbshots |