Файл метаданных с расширением .torrent является словарём в bencode-формате — используется в p2p-сети BitTorrent и содержит информацию о файлах, трекерах и др.
Описание
правитьСодержит следующую информацию:
- URL трекера;
- Общую информацию о файлах (имя, длину и пр.) в данной раздаче;
- Контрольные суммы (точнее, хеш-суммы SHA1) сегментов раздаваемых файлов;
- Passkey (ключ) пользователя, если он зарегистрирован на данном трекере. Длина ключа устанавливается трекером.
- (Необязательно) хеш-суммы файлов целиком[1]
- (Необязательно) Альтернативные источники, работающие не по протоколу BitTorrent. Наиболее распространена поддержка так называемых web-сидов (протокол HTTP), но допустимыми также являются ftp, ed2k, magnet URI.[2]
Размер сегмента регулируется при создании торрента и, как правило, выбирается размер, соответствующий степени двойки. При выборе размера необходимо соблюдать баланс, связанный с механизмом работы протокола (см. ниже). Размер сегмента чаще всего лежит в диапазоне от 128 килобайт до 2-4 мегабайт, хотя на очень больших раздачах (порядка сотни гигабайт) могут использоваться сегменты размером 32-64 мегабайта.
Если раздача состоит из нескольких файлов, то в процессе хеширования они считываются подряд и рассматриваются как непрерывный поток данных. Поэтому чаще всего сегмент, содержащий конец одного файла, также содержит и начало следующего. Вместе с тем для того, чтобы убедиться в правильности скачанного сегмента, необходимо иметь его весь целиком. Именно поэтому, несмотря на то, что большинство клиентов поддерживает скачивание не всех файлов в раздаче, а только некоторых, почти всегда будет скачан также и начальный и/или конечный кусок файлов, не выбранных для скачивания.
Так как хеши в .torrent-файле включают в себя имена и структуру каталогов раздачи, то переименование файлов с сохранением возможности их раздавать в общем случае невозможно. Однако, некоторые клиенты поддерживают изменение структуры, например, создание или переименование каталогов и переименование или перемещение файлов.
Файл метаданных является словарём в bencode-формате с дополнительным условием, что любые данные, являющиеся символьными строками, представляются в кодировке UTF-8. Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Также есть возможность получить info часть публичного файла метаданных напрямую от других участников раздачи благодаря расширению протокола «Extension for Peers to Send Metadata Files». Это позволяет обойтись публикацией только магнет-ссылки. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание.
.micro.torrent
правитьМикро-торрент — это торрент от одного файла, в котором размер сегмента совпадает с размером файла или 16 384 байта, если размер файла меньше[3]. В отличие от обычного торрента, микро-торрент создаётся из магнет-ссылки, в которой есть sha1-хеш файла, имя и размер.[4] Микро-торрент позволяет скачивать торрент клиентом небольшие файлы (до 2МБ) с веб-сервера без создания стандартного торрент-файла.
Пример:
Магнет-ссылка
magnet:?xl=10826029&dn=mediawiki-1.15.1.tar.gz&xt=urn:sha1:XRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5&as=https%3A%2F%2Freleases.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz
конвертируется в торрент-файл[5]
data:application/x-bittorrent;,d4:infod6:lengthi10826029e4:name23:mediawiki-1.15.1.tar.gz12:piece%20lengthi10826029e6:pieces20:%bc%6f%a7%90%b7%73%88%92%c6%b4%15%fc%76%65%8a%97%67%63%71%5de8:url-listl69:https%3A%2F%2Freleases.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gzee
Примечания
править- ↑ Optional Hashes in .torrent metadata files Архивная копия от 23 сентября 2018 на Wayback Machine
BEP0030 Merkle hash torrent extension Архивная копия от 14 сентября 2009 на Wayback Machine - ↑ External Sourcing Архивная копия от 23 сентября 2018 на Wayback Machine
BEP0017 HTTP Seeding (Hoffman-style) Архивная копия от 13 декабря 2013 на Wayback Machine
BEP0019 WebSeed — HTTP/FTP Seeding (GetRight style) Архивная копия от 13 декабря 2013 на Wayback Machine - ↑ Для совместимости с uTorrent
- ↑ magnet-converter/magnet-converter.htm at master · ivan386/magnet-converter
- ↑ Торрент-файл представлен в виде data: URL