Pull to refresh

Поиск по торрентам в DHT-сети

Reading time 4 min
Views 154K
Мало найдётся людей среди пользователей и читателей Хабра, которым не доводилось бы пользоваться торрентами. И наверняка многие понимают уязвимость центральных звеньев этой системы — торрент-трекеров (истории с Пиратской бухтой и бывшим torrents.ru, ныне рутрекером, — тому подтверждение).

Однако не все знают, что уже давно существует альтернатива традиционным трекерам — DHT-сеть, позволяющая организовывать раздачи без трекера. До сих пор она не получила большого распространения из-за невозможности поиска внутри сети — нужный файл можно было скачать только при наличии magnet-линка раздачи. Однако недавно появился первый и уникальный пока поисковый сервис по DHT-сети BTDigg.org.

Сервис с весьма лаконичным дизайном заточен под одну функцию — поиск:


Поисковик по хэшам торрентов


Чтобы снизить зависимость от трекеров, в 2007 году разработчиками протокола bittorrent была принята его модификация на основе DHT-структуры, которая позволяла делать раздачи без трекера.

Что такое DHT-сеть? Фактически, это распределённая сеть торрент-клиентов, которая хранит идентификаторы (хеши) всех публичных раздач — т.н. magnet-link, которые представляют собой 160-битное случайное число. DHT-узлы клиентов отвечают за анонсирование своих торрентов и за поиск запрашиваемых. Благодаря тому, что все современные клиенты поддерживают DHT, можно сказать, что в этой сети есть практические все публичные торренты (приватные торренты сеть «не видит» и не позволяет скачивать). Практически — потому что DHT в клиенте может быть отключен. Поиск идёт по мета-информации, которую содержит в себе торрент-файл — то есть, проще говоря, он ищет по названию торрента и по названиям файлов входящих в него. Пользователь открывает magnet-линк в своём торрент-клиенте, тот находит всех раздающих файл и дальше качает как обычно — участия трекера в этой цепочке нет.

Минус этого решения в том, что DHT отвечает только на один запрос — какие IP-адреса имеют пиры, раздающие торрент с данным инфохешом. То есть, начать закачку через DHT можно только если у тебя есть нужный magnet-линк. В этом смысле, DHT-сеть напоминает интернет без Google: вы можете попасть на нужную страницу только если знаете её точный адрес. Да, DHT-сеть может и создана работать без торрент-трекеров, но в случае закрытия таковых, процесс обмена файлами бы сильно усложнился.

Поэтому очевидно, что эта сеть с момента создания нуждалась в собственном поисковом сервисе. Однако, несмотря на простоту идеи, в реализации она оказалось очень сложной технической задачей. У создателей сервиса ушло около полугода на то, чтобы понять, что это вообще возможно сделать.

Что умеет BTDigg


Это НЕ поисковый сервис по торрент-трекерам. Функционал BTDigg.org гораздо мощнее: это первый, и пока единственный поисковик по DHT-сети — то есть, по сути, по всем публичным торрентам в интернете. В качестве исходных данных используются запросы info-hash'ей от других узлов, получаемые из собственного DHT-кластера. Далее, после очистки от накруток по этим хешам достаются торренты с пиров участвующих в файлообмене. Само содержимое торрентов не скачивается ни на каком этапе.

Создатели ресурса декларируют уважение к сообществу, поэтому не используют никаких запрещённых методов сбора данных (которые позволяют увеличить скорость сбора информации, но при этом приводят к дополнительной нагрузке на других участников сети). Их кластер в режиме 24x7 наоборот поддерживает DHT-сеть. BTDigg анализирует активность раздач, индексируя её раз в сутки (самые популярные раздачи из топ-100 — в режиме реального времени, каждые 10 секунд). Поиск поддерживает язык поисковых запросов Sphinx (к сожалению, описания языка на русском не нашёл).

В поисковой выдаче приводятся сведения, которые содержит в себе торрент-файл — то есть его имя и размер. Выдачу можно сортировать по релевантности и количеству пиров (то есть клиентов, ставивших этот файл на скачивание).

Из дополнительных фич пока только — топ-100 торрентов за 2 недели и real-time топ-100 за последние 10 минут, который обновляется каждые 10 секунд без перезагрузки страницы.

Кроме того, сервис также предоставляет API своего функционала — как для вычисления популярности торрентов в сети, так и поиска (на данный момент используется в клиенте qBittorrent). API открытое, но имеет ограничения по количеству запросов в единицу времени.

About


Из-за технической сложности задачи, проект стартовал совсем недавно — только в январе 2011. Сейчас его ежедневная аудитория — 10 000 человек, но потенциал, конечно же, гораздо выше. Проект пока не очень известен в рунете (на Хабре о нём был только назад пост в песочнице некоторое время назад), но в его интернациональной команде ярко выражено русское участие — по крайней мере, я общался с русскоязычным её представителем с редким именем John Smith. Больше подробностей о себе, по понятной причине, они не раскрывают.

Кстати, о правообладателях (кто не понял — они и есть «понятная причина»). Дам слово Джону:

Пока серьезных наездов на нас не было (разве только некоторые порностудии требуют, чтобы мы исключили из базы ссылки на их контент). С точки зрения закона (по нашему мнению) мы ведем себя как обычный поисковик (google, yandex и тд), даже более того — мы не даем прямых ссылок (magnet-линк это не ссылка в прямом её смысле). Но в мире юристов и правообладателей закон можно повернуть в любую сторону и пример pirate bay и rutracker тому доказательство.


Поэтому пока, чтобы не давать правообладателям возможности вести переговоры в русле, отличном от заочной интеллигентной дискуссии — ну там, жалобы абузе хостера, изъятия серверов, ругань в СМИ и т.д. — они вынуждены сохранять анонимность, хоть это и осложняет развитие проекта.

Планы по развитию


Сейчас тестируются и в ближайшее время на сайте появится много новых фич, в том числе по настройке и фильтрации выдачи, а также улучшению покрытия сети — BTDigg.org будет больше (даже очень редкие торренты) и быстрее индексировать новые раздачи в DHT-сети.

Отдельный привет российкой аудитории — создатели сервиса планируют сделать русскую локализацию, а саппорт уже сейчас понимает по-русски. Планов по монетизации сервиса пока нет — возможно, появится реклама, если аудитория не будет против.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+101
Comments 72
Comments Comments 72

Articles