После моей последней статьи было украдено много комментариев. Я не эксперт в области торрентов, но благодаря комментариям я узнал несколько интересных оттенков. Это вдохновило меня продолжить предыдущую статую и создание мини-анализа INKWHATYOUDOWNLOAD (Оказалось, что это можно сделать буквально через несколько часов).
Начнем с базы
Мы поймем, как работает нагрузка (и подобные агрегаторы).
Это то, что говорят его создатели:Торрент-файлы попадают в нашу базу данных несколькими способами. Во-первых, мы собираем новинки с популярных торрент-сайтов (как зарубежных, так и российских). Во-вторых, у нас есть компоненты, которые постоянно мониторят DHT-сеть. Если кто-то ищет или анонсирует infohash, мы также добавляем его в базу.
Данные по одному торрент-файлу собираются раз в несколько часов. Чем дольше вы находитесь на раздаче, тем выше вероятность попасть в нашу базу. Данные на сайте обновляются с задержкой в сутки.
Обычно мы решаем другие задачи — отслеживать небольшое количество торрент файлов, получая по ним как можно больше данных.
Как вы понимаете, на сайте идеология другая — получить по большому количеству торрент-файлов как можно больше данных, поэтому применяемые методы могут быть неточными. Да, кроме того, на сайте не отображаются данные старше 4х недель.
Что такое DHT?
DHT (распределенная хеш -таблица) — это технология, используемая в торрент -сети для децентрализованных исследований для участников дистрибуции (сторон) без необходимости подключения к центральному трекеру. Вместо того, чтобы рассчитывать на сервер, DHT позволяет каждому участнику сети хранить и обмениваться информацией непосредственно в праздничные дни.
Другими словами, DHT хранит данные, на которых праздники участвуют в распределении конкретного торрента (в соответствии с его info_hash). Когда вы превращаетесь в DHT, другие сетевые узлы ссылаются на список IP -адресов и порты, которые они знают для этого торрента. Это информация, которую собирают агрегаты, выполняя запросы с определенным интервалом.
Как написать свой агрегатор?
После изучения приведенных выше деталей стало ясно, что для создания вашего аналога необходимо выполнить следующие шаги:
1. Соберите интересующие заинтересованности в распределении трекеров;
2. Сделайте запросы в DHT для каждого хэша для получения IP -адресов и праздничных портов, участвующих в распределении, и сохраните их в практическом формате (например, JSON).
3. Загрузите данные в базе данных для дополнительной обработки и отображения пользователя.
4. Повторите процесс с определенным интервалом (например, один раз в час).
Параграфы 1, 3 и 4 довольно просты (для первого вам понадобится VPN, а для остальных есть много готовых гидов).
Самым трудным является пункт 2. Док и руководства для работы с DHT, но я не нашел готовый код. Поэтому мне пришлось немного сделать на Python-Can.
Как язык программирования, я выбрал Python и решил использовать его для взаимодействия с DHT либерарентПолем
Что случилось?
Я написал сценарий, который:
1. Примите у входа в хэш -торрент (или файл с набором хаши)
2. Делает запрос на DHT и записывает результаты в файле JSON (ключ файла — это торрент, и это значение — список IP -адресов и праздничные порты, участвующие в распределении)
Для теста я собрал хэш с помощью игры «Ведьмак 3» (2AA7BD1D13F982293512F873A4E9C5AD4C18BA8BA8BA8)
После работы сценария информация отображается на текущих праздниках в настоящее время (скриншот работы в комментариях): некоторые праздники совпали с данными INKWHATYOUDOWNLOADНо частично — нет (i ighthathatyoudownlod работает с одной задержкой в день + некоторые клиенты могут появиться и исчезнуть довольно быстро, и у агрегатора может не быть времени на их сборы).

Другими словами, оказалось, что он собирался больше данных, чем данные вышеупомянутого агрегатора (Mini-Mustache).
Финал Сценарий естьПолем
Важный момент: пользователи могут деактивировать DHT (он активируется по умолчанию). В этом случае этот метод не будет «найти их» (например, агрегаторы).
Если вам понравилась эта статья и вы хотите узнать больше об этих инструментах, технологиях и взломах жизни, подпишитесь на мою Телеграмма канала от автора!