Как стать автором
Обновить

Комментарии 9

Первый!

Скажу честно, автор оригинальной статьи читает мои мысли. Напоминает старые времена, когда чтобы поиграть в игру, ее нужно было сначала написать. Да, долго, но зато понимаешь, как оно устроено.

Во времена спектрумов у меня был аналог. При включении в ПЗУ находился интерпретатор бейсик. И всё.

И что бы поиграть, мне приходилось писать простенькие игры. Карточные, змейки, стрелялки и прочее… Запускать, играть. После выключения всё удалялось. В следующий раз всё по новой ))))

Годная статья, наткнулся на оригинал полгода назад и по ней тоже посмотрел/изучил как работает торрент. Ну и плюс для размяться поверх этой репы реализовал мультифайловость и параллельную загрузку со случайной записью (не по порядку как в оригинале). Отличная учебная статья.

По поводу бенкод-парсера встретил интересную особенность — разные клиенты (основанные на разных либах) создавали .torrent-файл с разным SHA1 из одних и тех же данных, при чем это воспроизводилось только при создании .torrent-файла из нескольких файлов, при создании из одиночного sha1 совпадал. И это не из-за private-флага.

Многодневное рытьё исходников и тесты выявили причину — кто-то сортирует словари (dictionary, «d»), а кто-то нет.

По поводу аннонсов. С обращением по HTTP всё просто, но сейчас массово пришли UDP трекеры. Есть ли наработки на эту тему?

По поводу аннонсов. С обращением по HTTP всё просто, но сейчас массово пришли UDP трекеры. Есть ли наработки на эту тему?

Это нужно спрашивать у автора оригинальной статьи)

Да, я видел что это перевод. Может кто из местных подскажет.

Если кому интересно, словари по стандарту должны быть отсортированы, поэтому один из клиентов вообще не торрент-файл создаёт, а непонятно что. Интересно, как при этом считается info-hash, без которого не получится отправлять запросы

Так инфо хэш в самом торрент файле прописан, его проверяют в сыром виде, до перевода во внутренний формат.

В стандарте раньше не была указана кодировка названий файлов (Юникод vs все остальные) + макось и винда имеют своё одарённое мнение по «составным» символам (типа записи «ё» как код «е» + код точек, но вылезает на всяких иероглифах): одна их принудительно разделяет, другая соединяет.

А еще, теперь есть вторая версия протокола, в котором происходит привязка хэшей к конкретному файлу, что дает возможность искать файлы не только в конкретном торренте, но и подкачивать их из других раздач.
Так же есть гибридные торрент-файлы, которые подходят и для v1 и для v2, там делается выравнивание файлами пустышками.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий