Поиск по торрентам в 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-сети.

    Отдельный привет российкой аудитории — создатели сервиса планируют сделать русскую локализацию, а саппорт уже сейчас понимает по-русски. Планов по монетизации сервиса пока нет — возможно, появится реклама, если аудитория не будет против.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 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
                                                              Они сейчас работают над тем, чтобы подключить 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
                                                                  Похоже, что индексируются и торрренты с богомерзкого рутрекера, и теперь можно качать их без регистрации? По карйней мере, по названиям типа «4ре апреля» или «Such a beautiful day» находятся именно торренты с упомянутого ресурса.

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

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

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

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

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