Пользователь
12,9
рейтинг
20 июля 2011 в 12:49

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

Мало найдётся людей среди пользователей и читателей Хабра, которым не доводилось бы пользоваться торрентами. И наверняка многие понимают уязвимость центральных звеньев этой системы — торрент-трекеров (истории с Пиратской бухтой и бывшим 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-сети.

Отдельный привет российкой аудитории — создатели сервиса планируют сделать русскую локализацию, а саппорт уже сейчас понимает по-русски. Планов по монетизации сервиса пока нет — возможно, появится реклама, если аудитория не будет против.
егорро @andorro
карма
220,0
рейтинг 12,9
Пользователь

Похожие публикации

Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разное

Комментарии (73)

  • 0
    Следующим шагом нужно обезопасить самих пользователей. Ведь если правообладатели не смогут наехать на владельца сайта — ведь не за что, будут выборочно судить пользователей. Пару раз для запугивания засудят — а дальше люди просто будут бояться качать из DHT.
    • +1
      А чтоб не могли найти пользователей надо использовать VPN или более кардинальное и безопасное i2p.
    • 0
      >Пару раз для запугивания засудят — а дальше люди просто будут бояться качать из DHT.

      так давно уже засудили и пару и тройку и десяток
  • +2
    С точки зрения реалий жизни: чем больше распределенных (а значит и более отказоустойчивых) сервисов будет в сети, тем лучше от этого нам же. Свобода информации нынче в цене. Другое дело, что всеже ее надо фильтровать, но только с точки зрения этико-моральных норм. Посему думаю что идея проекта замечательна и принесет всем пользу)
    • +7
      Фильтровать с точки зрения этико-моральных норм нельзя ни в коем случае, поскольку нормы эти являются чистой абстракцией. Пример — раздутая совсем недавно педоистерия, которую активно используют для закрытия неугодных ресурсов и оправдания цензуры.
      • 0
        Вы считаете что фильтровать детское порно, националистические или экстремистские материалы не есть гуд? Видимо вас это проблема не касалась.
        • +1
          Да, любая цензура — это зло большее, чем сами эти материалы, что бы в них не содержалось. Все эти экстремистские материалы никому не вредят, а victimless crime — порочная идея. Цензоры всегда либо преследуют свои цели, либо действуют с позиций презумпции идиотизма.
        • +1
          По поводу детского порно пожалуй отдельно выскажусь.

          Для начала посмотрите на эту карту. Разброс того, что вообще считать ребенком — от 9 до 20 лет. Попробуйте осознать диапазон. Это уже само по себе дискредитирует саму идею разделения по возрасту. Вот сегодня нельзя, а завтра становится уже можно. Вот здесь нельзя, а в 10 километрах через государственную границу уже можно. Посмотреть на ребенка на нудистском пляже можно, а вот его фотография будет уже являться порнографией.

          Потом подумайте вот что: кому наносят вред производители — я понимаю. Является ли это действительно вредом по определению, как его измерять и не является ли причиной явления борьба с ним — вопрос отдельный, и я его предпочту опустить, поскольку не специалист. Покупатели и продавцы финансируют производителей, тоже понятно. Но кому наносят вред те, кто скачали его из шары для личного некоммерческого использования? Имеем пример еще одного victimless crime.
  • +1
    первый и уникальный

    Я себе такой хотел написать (для личного пользования) даже начал, но как-то руки до нормальной реализации так и не дошли…
    • +1
      Кстати, да. В i2p Robert умеет искать maggot (аналог magnet) хеши в своей распределенной сети похожей на DHT. Так что алгоритм не нов, нова реализация.
  • +2
    Почему-то при загрузке любого торрента он ничего не содержит (список файлов пуст). Пользуюсь utorrent 2.2.1. Кто-нибудь знает, в чем причина?
    • +3
      Потому что сначала по магнитной ссылке качается сам торрент-файл, а в нём уже список файлов, их размер, итд
      • +1
        И что нужно сделать, чтобы все работало, как надо?
        • +3
          Оно и так работает как надо, просто подождите и всё появятся (J_o_k_e_R ниже пояснил)
    • +4
      Если грузишь торрент по magnet-ссылке, то должно пройти время, чтоб по этой ссылке подгрузилось собственно содержимое торрент-файла, в том числе список файлов. В зависимости от количества пиров у этого торрента может пройти вплоть до нескольких часов. (больше пиров — меньше время).
      • +1
        Ну вот я зашел в real-time топ-100, загружаю первый magnet из списка, у которого 500 запросов за 10 мин., жду несколько минут, и так ничего и не загружается.

        В чем тогда смысл это сайта, если придется ждать загрузки торрента неизвестно сколько времени?
        • +1
          Ожидание 20-30 минут даже для популярного торрента — вполне нормально. Низкая скорость добавления торрента — минус распределенности.

          Смысл — отсутствие центрального трекера, лишившись которого по каким-либо причинам, ты вообще ничего не скачаешь. Тут лишаться нечего. Пока на торренте есть пиры — ты всегда можешь его скачать.
          • 0
            Понятно. Жаль, значит этот сайт не для меня. А идея, конечно, очень интересная.
        • 0
          У вас вообще DHT сам работает?
          • 0
            Да, активирован.
            • 0
              (я понимаю что в клиенте галочка стоит)
              И «ноды» подключены?
              • 0
                Что такое «ноды»?
        • 0
          У меня тот первый из топа тоже долго тупил. А вот найденный через поиск фильм за секунду подцепился и тянется на скорости 6 мбайт/сек.

          По-моему, просто отличный сервис. Очень много всего находит. Пробовал книжки искать, музыку не слишком популярную — много результатов.
          • 0
            Я сколько ни пробовал, ничего не загружается. Печаль =(
    • 0
      Возможно, у вас не «разогрет» DHT. Для работы DHT нужен актуальный список участников сети. Изначально он идет с торрент-клиентом и обновляется по мере работы. Если у вас торрент-клиент был долго выключен, то, скорее всего, список «протух» и его нужно обновить, для чего достаточно начать качать или раздавать торрент с обычного торрент-трекера (например pirate bay). Так же проверьте свой firewall, чтобы он разрешал входящий и исходящий udp-трафик по порту DHT. Обычно номер порта совпадает с тем, что использует bittorrent (он работает по tcp).
      • 0
        для чего достаточно начать качать или раздавать торрент с обычного торрент-трекера


        Попробовал, не помогло.

        Так же проверьте свой firewall, чтобы он разрешал входящий и исходящий udp-трафик по порту DHT. Обычно номер порта совпадает с тем, что использует bittorrent (он работает по tcp).


        Файервола у меня нет, но есть роутер. К сожалению, не смог разобраться, как в нем это сделать.
  • +2
    Недостает описаний раздач, как на трекерах. Думаю, это можно было бы решить, начав добавлять некий README файл в каждую раздачу, ну и чтобы BTDigg.org его считывал.
    • 0
      Считывать README из раздачи — это значит выкачивать часть торрента. Что может дать лишние козыри в руки правообладателей. Лучше уж описание раздачи писать в поле description торрент-файла, расширив его до нужного размера (к сожалению не знаю какое ограничение оно имеет сейчас).
    • +1
      Зачем описание, если там только поиск? Ведь по логике, пользователь должен знать что он ищет

      А в выдаче результатов сильно не хватает сортировки по AddTime — новинки сложно искать
  • +3
    отличная идея! Отписался им с предложениями о посильной помощи
    Первое, что нужно сделать — разбросать свои резервные копии по сети, аки Викиликс. Так точно не завалят идею
    • –3
      только вот фильтр педовидео не мешало прикрутить… А то без суда закроют
      • +4
        Спорно. Это же не ютуб, который бы хостил это видео на своих мощностях. А так, если у охотников за педофилами есть минимальные мозги, они поймут, что выгоднее находить педофильские торренты через этот сервис и отслеживать пиров, участвующих в педофильском файлообмене. И прикрывать уже их.
  • +4
    > В этом смысле, DHT-сеть напоминает интернет без Google: вы можете попасть на нужную страницу только если знаете её точный адрес.

    Вы хотели сказать «Интернет без поисковых систем»?
  • +2
    А можете пояснить, что есть приватные торренты? Как они отличаются от публичных? Если нигде не публиковать торрент файл, а передать другому пользователю лично, то DHT не проиндексирует такую раздачу?
    • +2
      Приватный торрент задается как служебное поле в торрент-файле (галочка «Приватный торрент» в торрент-клиенте).

      Отличие от публичных в том, что содержимое не индексируется DHT и невозможно (используя штатные торрент-клиенты без хакерских примочек, за которые везде банят) включить на нем работу через DHT и «Обмен пирами». Такие торренты используются на большинстве закрытых (регистрация только по приглашениям) трекеров, так как на публичных торрентах невозможно точно учитывать статистику скачанного и отданного. При использовании DHT статистика уходит мимо трекера.

      Если ты передашь приватный торрент другому человеку, не публикую вообще нигде — это не будет иметь смысла, так как придется в ручную добавлять каждого пира, откуда качать. Для того, чтобы можно было качать, используя торрент-файл, он должен быть либо опубликован на трекере, либо в DHT, либо и то и другое.
      • +1
        Мне не надо добавлять кого-то вручную… Я спросил только ввиду того, что иногда файлы передаю именно через торрент 1-2 людям, но надо, чтобы файлы не были видны «снаружи». Теперь все ясно. Спасибо.
        • +1
          Если ты передаешь приватный торрент, то людям, которым ты его передал, придется добавить тебя, как пира. А если они захотят качать не только с тебя, но и с других людей, которым ты передал этот торрент, то и этих «других людей» тоже. Так что приватные торренты без трекера особенно смысла не имеют.
      • 0
        Мимо трекера статистика уйдет только если удалить его. Например те же приватные торренты. Если начать качать торрент, дождаться появления пиров и после этого удалить трекер — то на трекер никакой статистики не отправится.
    • +2
      банально — при создании торрента можно указать «приватность» (в русской версии uTorrent — частный торрент). Если не указывать — то проиндексирует, если DHT включено, конечно.
      • +3
        Прошу прощения, опоздал с ответом)
    • 0
      В догонку для любителей риска: патч для transmission после которого transmission вообще игнорирует флаг приватности занимает всего три-четыре строчки строчки.
  • +5
    Есть еще bitsnoop.com/
    Он тоже умеет искать по DHT.
    • 0
      Спасибо! Выглядит по-функциональнее выше описанного.
    • +1
      А где на этом сайте написано, что они индексируют DHT? Там только пишут, что они парсят торрент-трекеры.
      Magnet-link получается из info_hash'а торрента тривиальным образом путем дописывания префикса.
      • 0
        Ну если хорошо порыться, то можно найти и торренты без трекеров.
        Но не это главное.

        Суть в том, что я, проводя серию своих «экспериментов», обнаружил, что на битснупе появляются мои торренты, которые я создавал при этом не публикуя торрент-файлы на трекерах и не анонсируя хеш на трекеры. Это возможно только если bitsnoop.com «сканирует» DHT.
  • –7
    Мне кажется Playble.Ru лучше. Потому, что перейдя по ссылке на торрент, можно увидеть много информации о торренте.

    Например, я ищу программу, устанавливать которую нужно строго по инструкции, перехожу по ссылке и вижу описание программы и инструкцию по установке.
    Этот сервис лишён этого.
    • +5
      Playble парсер торрент трекеров, а не поисковик по DHT.
    • +3
      вот именно что кажется… как его автор вы не можете быть объективным
  • +2
    Почему-то в топе поиска только порно;)
    • +4
      Почему-то вас это удивляет :-)
  • –1
    "Сервис с весьма лаконичным дизайном"

    точнее совсем без дизайна
    • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Вы не поверите, это и есть дизайн.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Сильно нехватает сортировки и фильтрации по размеру содержимого. И было бы неплохо получить возможность указывать мин/макс количество файлов в торренте и количество сидов/пиров.
    • 0
      Сидов/пиров он всех не знает. А по размеру да, актуально. Напишите им.
      • 0
        Уже делают.
    • 0
      Сортировку по размеру, количеству файлов и времени добавления они выложат уже в конце этой недели.
  • 0
    Прикольно, полезно, но я использовать не буду.
    Не могу без систематизации торрентов по разделам, без более-менее формального описания параметров файлов, скриншотов и комментариев пользователей.
    • 0
      Они сейчас работают над тем, чтобы подключить BTDigg к системе распределенных коментариев и рейтингов, которая появилась в последней бета-версии utorrent'а.
  • 0
    Полезный поисковик. Радует возможность поиска редкого и частоудаляемого контента.
    • –2
      > редкого и частоудаляемого контента
      Например btdigg.org/search?q=pthc
      • 0
        Это умеют все поисковики:
        http://www.google.com/#q=pthc
        и их пока еще никто за это не закрывает
        • –1
          Что такое pthc?
        • +1
          Пролистал 3 страницы, не увидел ни одной ссылки действительно по теме. Чего нельзя сказать о btdigg.
  • 0
    Плохо (или не плохо) то, что данный DHT поисковик ищет торренты именно по названию файла. Уже давно фильмам, раздаваемым торрентами намеренно дают названия с ошибками, например Avator.avi или Sinii.Chuvak.S.Hvostom.3D.avi, потому что правообладатели тоже умеют пользоваться поисковиками, и первым делом вбивают в поисковую строку название фильма, а потом рассылают письма с угрозами исков первым 10000, качающим данный файл.

    Надо как-то устроить поиск, чтобы он мог искать и по мета-данным. Только вот как?
    • 0
      BTDigg умеет показывать дубликаты торрентов, то есть те торренты, которые имеют идентичный конент, но с другим названием как торрента, так и файлов внутри

      например: btdigg.org/search?q=&info_hash=37d2ef8cc75233d1d41f652fd0cbafabcd327ed3
  • 0
    Похоже, что индексируются и торрренты с богомерзкого рутрекера, и теперь можно качать их без регистрации? По карйней мере, по названиям типа «4ре апреля» или «Such a beautiful day» находятся именно торренты с упомянутого ресурса.

    Правда, минус, ни описаний, ни скриншотов, ни какой-то минимальной гарантии, что это не фейк и не вирус, нету :(
    • 0
      Индексируются как я понял не с трекеров а вообще (т.е вообще вообще)

      Это гарантирует одну фишку (это ни хорошо, ни плохо) никаких гарантий вообще ни на что.

      (во всяких emule там хоть называют иногда типа «Terminator (rus).avi», а в торрентах так не принято. Так что тут если увидите «Terminator.avi» он может быть абсолютно с любой звуковой дорожкой, даже думаю какой нибудь эфиопской...)
  • 0
    Попробовал поискать несколько вещей. Какие-то странные результаты иногда выдаёт. Проблемы с релевантностью?

    Вводим, например, «terminator». Вся первая страница результатов состоит почему-то из «terminal». Первый действительно релевантный результат — двенадцатый.
  • 0
    Что то сайт не работает, хотел одну раздачу без сидов поискать по хешу, месяц назад вроде бы работал.
  • 0
    У меня работает, не знаю, может на тот момент просто был отключен, сейчас все супер. Спасибо большое.
    поиск по торрентам

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.