Skip to content

Instantly share code, notes, and snippets.

Created August 29, 2017 23:47
Show Gist options
  • Save anonymous/6feb242f4b881a8330bbeeb68057e7a5 to your computer and use it in GitHub Desktop.
Save anonymous/6feb242f4b881a8330bbeeb68057e7a5 to your computer and use it in GitHub Desktop.
Формат торрент файла

Формат торрент файла


Формат торрент файла



Как открыть файл TORRENT?
.torrent
.TORRENT расширение


























Только полноправные пользователи могут оставлять комментарии. TM Feed Хабрахабр Geektimes Тостер Мой круг Фрилансим. Хабрахабр Публикации Пользователи Хабы Компании Песочница. Что же у него внутри? Использую, как и многие, крупный торрент-трекер — rutracker. Однако который часто у меня — практически всегда выдаёт ошибки Bad Gateway и 0 No Response. Торрент-клиент у меня Transmission помечает торрент сломанным. Что само собой довольно сильно мне мешает. Особенно если учесть особенность Transmission — она задаёт статус торрента по последнему ответу трекера. Такая чехарда не особо меня радует. Решение банально — убрать этот нехороший адрес из списка. Однако файлов у меня много, из каждого вручную вырезать совсем не хочется, да и дополнительное действие при добавлении нового торрента выполнять тоже не было никакого желания. Поэтому принял решение разобраться в формате и автоматизировать удаление трекера из списка. Bencode Именно так называется формат кодирования данных в. Больше он почти нигде и не используется, мне попадался он на глаза так же в формате хранения resume-информации в Transmission. Описываются 4 типа данных — массив байт, число, список, ассоциативный массив. Заметно что так мы можем задавать огромные числа, которые не влезут ни в long, ни в long long, однако большинство пренебрегают отсутствием лимита и используют битные числа. Длина массива так же формируется неограниченной последовательностью цифр. Элементом может являться любой из типов данных. В том числе и вложенный список. Массив байт — это имя записи в форме из пункта 2. Элемент опять же может быть любым — список, массив, ассоциативный массив, число. Сам файл это последовательность таких записей. Поэтому декодирование крайне просто выполняется: Как я уже писал выше для кодирования используется Bencode. Стоит добавить что если массив байт может быть интерпретирован как строка имена элементов в ассоциативном массиве, просто строковые поля , то используется кодировка utf Содержимое является одним большим ассоциативным массивом со следующими полями: Наряду с info является обязательным полем, всё остальное — опционально. В Bencode-виде — список списков. Необходимо упомянуть то, что файлы представлены в протоколе кусками. То есть файлы содержащиеся в торренте объединены в единый массив, и затем этот массив разделили на относительно небольшие кусочки. В таком виде данные обрабатывает BitTorrent-протокол. Ассоциативный массив info состоит из: Увы многие торрент-клиенты воспринимают это как аксиому. Формат элементов списка files: Каждая строка — элемент пути, относительно корневой директории торрента. В общем-то это всё. Нам в данный момент нужно только одно поле — announce-list. Пробегаясь по этому списку находим неугодный трекер и вырезаем его: Таким образом мы можем пробежаться по существующим. Я использую удобную штуку — watch directory. Однако мне совсем не хочется предварительно вырезать трекер, а желаю автоматизировать это дело. Поэтому написал простенький демон, который мониторит собственную watch directory, удаляет трекер и кидает файл в watch directory торрент-клиента. Для меня как пользователя абсолютно ничего не поменялось, кидаю файлы в ту же папку, получаю на выходе торрент в клиенте. А затем крутим бесконечный цикл слежения за директорией. Таким образом мы абсолютно не грузим процессор во время ожидания. Сама обработка файла не представляет из себя ничего интересного — пара вызовов rename и один вызов system. Системное администрирование 1,1k авторов , 2,2k публикаций. Настройка Linux 1,4k авторов , 2,7k публикаций. Сетевые технологии авторов , 1,1k публикаций. IT-инфраструктура авторов , 1,2k публикаций. Серверная оптимизация 87 авторов , публикаций. Nginx авторов , публикаций. Децентрализованные сети авторов , публикации. Как организовать защищённый доступ при помощи VPN 3,2k Добавить в закладки C, PetrWrap или PetyaCry? Помоему пропущен важный шаг: Последствий никаких, без него качается нормально. Один из адресов должен использоваться внутри локальной сети для поиска локальных пиров, но не во всех сетях есть такие трекеры. А что делает другой адрес — для меня осталось загадкой, возможно это дублирующий трекер, на случай подения первого. Все должны помнить историю с отбиранием домена torrents. Так вот, два анонс урла в зонах. А разве поиск локальных пиров идет не через retracker. В отличие от трекера он не учитывает статистику файлообмена, а просто помогает пирам найти лруг-друга. В мирное время он просто разгружает сам трекер. А в случае блокировки регистратором доменного имени как было с torrents. Я про него и говорил, рутрекер отдает 3 трекера в раздаче — главный, ix и локальный. Кстати, по поводу имени retracker. Я категорически против, чтобы для внутрилокальных bittorrent-ретрекеров в torrent-файл добавлялся такой announce-URL. Сделали бы имя в некой зоне bittorrent например, retracker. Но имя в зоне. И очень жаль, что администраторы rutracker. А глядя на них администраторы ряда других трекеров сделали так же, а администраторы локальных сетей создали зону. Проблема в том, что зона. И в протоколе mDNS как раз зарезервировано, что имена хостов в некой псевдо-зоне. В итоге получается явный конфликт. Только после этого эти Linux-клиенты начинают находить в локальной сети сервер retracker. Windows-клиентам на этот конфликт с использованием зоны. У Microsoft, как обычно, своя реализация технологии Zeroconf, называемая APIPA Automatic Private IP Addressing , а для разрешения имён там используется не mDNS, а свой протокол LLMNR Link-local Multicast Name Resolution , в котором не зарезервирована зона. Поэтому для Windows нет конфликта, связанного с использованием зарезервированной зоны. Но всё же при принятии решения о выборе универсального имени для локальных ретрекеров следовало учесть не только Windows-клиентов, но и прочие реализации и зарезервированные для них зоны. Ага, у меня ubuntu каждый раз при загрузке напоминает об отключении службы avahi из-за зоны. Такие администраторы локальных сетей — идиоты. Я, помню, еще когда торрентс. Что придумали имя, не подумав головой, положив болт на всех, кроме Windows. От души пожелал им, чтобы в одно прекрасное утро к их винде приехал update, после которого windows-клиенту тоже понадобится зона. Причем писал ведь и про то, что надо хотя бы инструкцию поправить, для тех админов, которые не включают голову, а будут тупо копипастить. Чтобы, как пишут выше, создавалась в fake dns не зона. А сразу зона rettracker. Тогда хоть убунты не станут ругаться при каждом логине и т. Существует расширение BitTorrent-протокола BEP , которое позволяет автоматически искать адрес локального bittorrent-ретрекера в DNS через специальную SRV-запись, созданную там. Для этого bittorrent-клиент должен поддерживать эту фичу, а также администратор локального DNS-сервера должен добавить туда соответствующую SRV-запись для локального ретрекера. Есть предположение что это резервный домен, на случай если rutracker. В раздачах он уже вбит, значит с сидерами после смены домена, проблем не будет. В единственном треде на форуме что я нашёл — rutracker. Ошибки есть у всех, у кого я узнавал, поэтому моё мнение таково, что что-то планировали сделать, но не срослось, и сейчас сервис не функционирует. А вы ничего не путаете? У меня у torrent-файлов, скачанных с rutracker. И тот и другой трекер работают в битторрент-клиенте без ошибок. У меня оба этих трекера присутствуют в каждом скачанном. Ну то есть в торрентах прописаны-то оба трекера, просто иногда в разном порядке. И любой из них откликается, и не даёт ошибок в bittorrent-клиенте. А просто добавить запись в hosts, указываюшую на rutracker? Изучение протокола позволит решать ряд других задач, например, автоматизация смены трекера torrents. Поэтому в плане опыта лучше разобраться что к чему. Я не знаю механизмов работы торрент-клиента, поэтому вполне возможно что он будет посылать в 2 раза больше запросов, чем нужно. Но надеюсь что это не так: НЛО прилетело и опубликовало эту надпись здесь. То есть, если взять ресурс типа isohunt, где в каждом терренте прописано много трекеров, и некоторые всегда оказываются недоступны, transmission будет его всегда помечать сломанным? Помечает и еще мигать начинает, нормальный-сломанный. Так делают многие клиенты, тот же uTorrent, но продолжают качать через работающие источники, например DHT. Что то я никогда за transmission такого не замечал по крайней мере в мак версии , а под линуксом я таких проблем сроду не видел, сколько не сижу и не качаю: Может лучше баг-репорт разрабам послать? Это будет выглядеть логичнее мне кажется. То при возникновении ошибки например Unregistered torrent , мы сразу увидим это. Я вообще если честно слабо понимаю о чём речь. Я этого никогда не наблюдал. Вот что у меня делюг например говорит Status: Ну 2 из 3 трекера работают — что ему панику то наводить? Всё качается, статистика учитывается? Значит всё ок — пусть молчит. Поэтому вывод из строя любого из списка должен сигнализировать, ибо вдруг этот вышедший и является самым главным, а остальные, рабочие, — просто заглушки. Должен сигнализировать, но не тем же способом, что и в случае отказа всех. Оранжевым цветом, дополнительным значком и т. Товарищ KorP у тебе щас паскей стырят! Вот он твой 1NP1VrIWfC Как возьму и скачаю что-нить от твоего аккаунта, будешь знать! Можно очень сильно не переживать, это ж рутрекер, а не порнолаб: Это мой не основной аккаунт просто. Этим аккаунтом только мой сервак пользуется: А за счёт того что я его натренировал самостоятельно следить за обновляемыми раздачами, которые мне интересны — он при обновлении торрента оказывается всегда в первой десятке раздающих, отсюда высокий рейтинг и никаких переживаний: Теперь можно добавить на скачку любой торрент с рутрекера, в редактировании трекеров указать ваш passkey, и всё скачанное будет засчитываться вам. Вы можете зайти в профиль на рутрекере и сгенерировать новый паскей. В старых раздачах в торренте придётся его тоже сменить. Да мне в общем то и не жалко: Там рейтинг большой, убить его будет крайне сложно. Когда год назад torrents. А я год назад написал скрипт на Perl и патчил им все торренты на лету вообще для всех пользователей нашей сети ;. Но в качестве альтернативы можно использовать BEncode Editor forum. Хотя сишить это костыль: Есть де куча вменяемых либ, на базе того де python. Автоматизирую ка я для себя с учетом, что качать могу на лине и на макоси. Данные код будет отлавливать только мув-ы и линк-и. С копированием будут ошибки, тк ты будешь открывать недозаписанный файл. Метки лучше разделять запятой. Сейчас Вчера Неделя Линейное программирование в python силами библиотеки scipy 1,7k 3. Интересные публикации Хабрахабр Geektimes. Хорошее начало — половина дела GT. Запуск Java классов и JAR-ов не по учебнику. Анализируя Ethereum, Биткоин и более других криптовалют с помощью PostgreSQL GT. Критическая уязвимость механизма аутентификации BIND позволяет похищать и изменять DNS-записи серверов. Разделы Публикации Хабы Компании Пользователи Песочница. Информация О сайте Правила Помощь Соглашение Конфиденциальность. Услуги Реклама Тарифы Контент Семинары.


Чем открыть файл .TORRENT ?


Файл метаданных с расширением. Размер сегмента регулируется при создании торрента и, как правило, выбирается размер, соответствующий степени двойки. При выборе размера необходимо соблюдать баланс, связанный с механизмом работы протокола см. Размер сегмента чаще всего лежит в диапазоне от килобайт до мегабайт, хотя на очень больших раздачах порядка сотни гигабайт могут использоваться сегменты размером мегабайта. Если раздача состоит из нескольких файлов, то в процессе хеширования они считываются подряд и рассматриваются как непрерывный поток данных. Поэтому чаще всего сегмент, содержащий конец одного файла, также содержит и начало следующего. Вместе с тем для того, чтобы убедиться в правильности скачанного сегмента, необходимо иметь его весь целиком. Так как хеши в. Однако, некоторые клиенты поддерживают изменение структуры, например, создание или переименование директорий и переименование или перемещение файлов. Файл метаданных является словарём в bencode -формате с дополнительным условием, что любые данные, являющиеся символьными строками, представляются в кодировке UTF Файлы метаданных могут распространяться через любые каналы связи: Это позволяет обойтись публикацией только магнет-ссылки. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание. В отличие от обычного торрента, микро-торрент создается из магнет-ссылки , в которой есть sha1-хеш файла, имя и размер. Материал из Википедии — свободной энциклопедии. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии , проверенной 15 марта ; проверки требуют 10 правок. Описание [ править править вики-текст ] Содержит следующую информацию: URL трекера; Общую информацию о файлах имя, длину и пр. Длина ключа устанавливается трекером. Необязательно хеш-суммы файлов целиком [1] Необязательно Альтернативные источники, работающие не по протоколу BitTorrent. Наиболее распространена поддержка так называемых web-сидов протокол HTTP , но допустимыми также являются ftp , ed2k , magnet URI. Навигация Персональные инструменты Вы не представились системе Обсуждение Вклад Создать учётную запись Войти. Пространства имён Статья Обсуждение. Просмотры Читать Текущая версия Править Править вики-текст История. Эта страница последний раз была отредактирована 3 декабря в Текст доступен по лицензии Creative Commons Attribution-ShareAlike ; в отдельных случаях могут действовать дополнительные условия. Свяжитесь с нами Политика конфиденциальности Описание Википедии Отказ от ответственности Разработчики Соглашение о cookie Мобильная версия.


Лямур нест риен перевод
План снижения объемов незавершенного строительства
Последние новости ви тренд
Трамвайный светофор правила
Где найти броню медведя
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment