#7. Комментарий к статье о проекте на neolurk.org

...И познаете истину, и истина сделает вас свободными.
Ин. 8:32

29-01-2026

Когда я это увидел, был удивлён. Кажется, нас заметили и проект перестаёт быть андеграундом? Хочу поблагодарить за внимание к нашей работе, авторы определенно потратили время на разбор. Чувствуется внимание к деталям и желание досконально разобраться, что из себя представляют все эти боты и сайты.

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

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

  1. Цели, принципы, смыслы и назначение моего проекта.
  2. Что в проекте «демо» и почему?
  3. Выбор технологий.

Зачем, почему, и что именно

Статья: паразитический нарост на теле Рунета... требует мзды.

Истина: Проект — это резервная инфраструктура публичного доступа. Цель не в замене трекеров и библиотек. Когда оригиналы блокируют, информация не должна исчезать. Индекс живёт в нашей инфраструктуре, и блокировка любого ресурса в любой стране не влияет на доступность поиска. Помимо этого, это позволяет зачастую лучше оригинальных сайтов структурировать и систематизировать информацию, а также сократить время перебора источников для пользователя. Мы не просто копируем. Мы очищаем данные, приводим к единой структуре, обогащаем, обеспечиваем альтернативный доступ и делимся с сообществом безвозмездно. Мы открыто говорим, что индексируем, мы не скрываемся. Наша цель — не навредить источнику, а создать его страховку.

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

В новом мире немодно скачивать себе файлы на устройство. А вам нравится, когда за вас решают, что и когда вы имеете право читать, слушать или смотреть?

Этот проект помогает спасти наполенное наследие и найти среди множества сущностей то, что нужно тебе, а не то, что нужно кому-то другому продать тебе.

Статья: это просто очень быстрый и наглый скраппер, который создает паразитарную нагрузку на оригинальные трекеры, вызывая лютую ненависть у их админов

Истина: Зачастую трекеры сами готовы и рады с нами сотрудничать. Я просто процитирую ответ администрации одного из трекеров нашего индекса, который красноречивее любых доводов: в силу того что мы так же как и некоторые другие ресурсы попали под раздачу РКН из поисковых запросов мы пропали, есть пару малоизвестных поисковиков которые нас по прежнему индексируют. Также как и все (включая крупные ресурсы) мы испытываем поисковый голод, то есть приток новых пользователей сильно сократился. Поэтому вынуждены искать альтернативы пополнению тех, кто обеспечит файлообмен. Понятно что большинство уйдет после того как скачает, но тем не менее возможно кто то останется, а это уже не плохо. Принципиально ничего против того что качать будет бот не имеем, так например делают китайцы, да и мультитрекерные раздачи с кинозалом и рутором тоже построены на схожем принципе. Так что сильно ситуацию это не испортит :) Предположу почему другие ресурсы считают ботов убийцами файлообмена - большинство адлминистраций тем боле крупных ресурсов держат и поддерживают ресурсы только для извлечения какой то прибыли, то есть сами проекты признаются коммерческими.

Сейчас будет жестко, но факты есть факты. Держитесь. Если вы не видите рекламы казино на том же рутрекере, потому что у вас стоит адблок, это не значит, что рутрекер не крутит её пользователям без адблока и не получает с этого хорошую прибыль. Это не считая жучков аналитики и передачи сведений о вашем поиске и ваших устройствах куда следует в случае чего (касается всех коммерческих трекеров). Да, конечно, они будут против, если вы выберете Telegram-бот (тем более чужой) вместо посещения их сайта с рекламой и веб-аналитикой от Google/Yandex.

Особый цинизм ситуации в том, что многие коммерческие трекеры открыто себя не называют коммерческими и даже убеждают своих пользователей (зачастую и модераторов) в том, что они объединились под знаменем идейной борьбы. Я убеждён, что банальное размещение баннеров на проекте вместо продуманной и этичной монетизации говорит о глубоком неуважении к пользователям, о безразличии к репутации и судьбе своего проекта, об отсутствии каких-либо целей кроме как выжать выгоду здесь и сейчас.

К чему это я? К вопросу об истином происхождении ненависти у админов коммерческих трекеров.

Почём воздух свободы?

Статья: система работает по принципу демо-режима.

Истина: Поиск, книги и magnet-ссылки и .torrent-файлы — бесплатны всегда. Вас никто не ограничивает в поиске через бота или на сайте, и мы не продаём контент. Если вы увидели, что кто-то берёт деньги за доступ к поиску — перед вами чья-то подделка и скам.

Это заблуждение о наличии демо-режима, очевидно, возникло из-за путаницы: у проекта появился бот-качалка, через которого можно скачивать содержимое раздачи на наш сервер, а потом себе через Telegram. Что самое интересное, с идеей создания этого бота ко мне пришли пользователи, которые имели проблемы со скачиванием контента через сеть Bittorrent и которые были готовы вознаградить мою работу и траты на инфраструктуру. В дальнейшем это стало дополнением к поиску, как необязательная альтернатива и этичным источником экономической стабильности проекта. В качалке есть щедрый пробный период, чтобы протестировать серверную закачку.

Мы просим помочь с инфраструктурными расходами (сервера, трафик) тех, кто хочет удобства (скачивание через бота-качалку). Мы верим в модель взаимной поддержки, а не в принуждение. Те, кому важно удобство, помогают проекту выжить.

Статья: ...в тот самый момент, когда твоя рука потянется за вожделенной magnet-ссылкой, бот ласково хлопнет тебя по пальцам и предложит купить токен. Это создает уникальную бизнес-модель, где воздух свободы продается порционно, а борьба с Копирастами превращается в банальный ларь с шаурмой, где вместо мяса завернуты хеш-суммы файлов.

Истина: С тем, что magnet-ссылки не продаются, разобрались. Могу догадаться, откуда в статье появились некие токены. Заодно расскажу о втором этичном источнике экономической устойчивости проекта. Или лучше процитирую статью, где идея доступно изложена:

элементом функционала является публичное API, которое проект продает как отдельный продукт. Идея заключается в том, чтобы позволить другим разработчикам создавать свои приложения, сайты и сервисы на базе индекса [Ex]Freedomist. Это своего рода Google для пиратов, который предоставляет структурированный доступ к миллионам раздач.

Токены для доступа нужны для использования API поиска, которое будет использовать разработчик другого проекта. API — это не «продажа воздуха» и не данных, а инфраструктурной абстракции. Разработчик платит не за гигабайты, а за то, чтобы 10 человеко-лет нашей инженерной работы работали на него одной строкой кода. Мы взяли на себя самую грязную, рискованную и ресурсоёмкую часть работы: добычу и очистку данных в условиях постоянно меняющихся блокировок. А вы как разработчик берёте на себя творческую часть: что сделать с этими данными — красивый интерфейс, аналитику, интеграцию. Это симбиоз, где каждый делает то, что у него получается лучше всего. Вы инвестируете в своё право не разбираться в тысячах строках кода эвристик парсинга под каждый ресурс. Мне кажется, это довольно справедливо.

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

Суть такова: наш API тихонько взялиподключили ребята, которые делают некие «быстрые команды» (приложение) для iPhone. Эти люди абсолютно не имеют никакого отношения к проекту, ведь наш API может использовать любой, как и задумано. Авторы «быстрых команд» наобещали людям отдавать magnet-ссылки по клику, и у них это даже работало, пока не кончились запросы в демо-токенах. Вместо того, чтобы хотя бы обновить демо-токены (если не хочется приобретать полноценные), они просто отдают людям выдачу с заглушками вместо magnet-ссылок (с текстом о необходимости обновления токена доступа). Скорее всего, автор статьи именно так и нашёл наш проект. Дело раскрыто.

Технологическое чрево: кукушка орёт, стрелки крутятся

Интересующимся технологической составляющей посвящается. В основном, всё что упомянуто в статье о техноаспектах проекта, в лучшем случае основано на скудных обрывочных сведениях из моих старых статей и постов, а также документации (F.A.Q. и подобное) проекта. Понятно, что большинство из компиляции таких сведений является в лучшем случае устаревшим и упрощённым описанием сути.

Смысла развеивать сложившиеся мифы о технологиях не вижу, но как инженеру мне есть что ответить.

Статья: под капотом у этого Франкенштейна крутится такой зоопарк технологий, что любой системный архитектор при взгляде на схему либо заплачет от умиления, либо позовет санитаров.

Истина: Публичной схемы проекта нигде нет, и представления о зоопарке технологий могут быть только догадками. Однако, налицо признание необходимости быть системным архитектором, и автор статьи на новом лурке определенно причисляет себя (и меня!) к ним. Это очень приятно, спасибо!

Однако, спорить с тем, что в наличии некий зоопарк конечно не буду, ведь это правда. Зоопарки появляются не от безумия, а от масштаба и сложности поставленных задач. Когда ваша задача — сохранять терабайты культурного слоя, вы ведь не берёте SQLite? Я выбрал свой набор инструментов для спасения данных от цифрового забвения.

Статья: Решение, обычно применяемое в Яндексе для обработки петабайтов логов, в данном случае используется для того, чтобы Вася из 7-Б мог на полсекунды быстрее найти репак S.T.A.L.K.E.R.

Истина: Все решения, которые используются в моём проекте, нужны чтобы обрабатывать десятки миллионов записей с прогнозируемой latency. Когда делаешь аналитику и поиск по миллионам (а кое в каких частях проекта и миллиардам) записей — приходится брать инструменты уровня Яндекса. В тейке автора слышу «тебе не нужен ClickHouse, потому что ты не Яндекс».

А вы помните, ещё когда у рутрекера был свой поисковый бот в телеге, насколько медленно и глючно он искал? Я знаю почему так было, и почему большинство тех, кто делает подобное заставляют своих пользователей ожидать десятки секунд или даже минуты (!). Что может быть проще, чем при каждом поисковом запросе ходить на оригинальный сайт (или на несколько сайтов) и парсить ответ?

Но вместо простых и надежных решений (цитата) я выбираю сделать людям, которые используют мой поиск удобнее и быстрее (а не самому себе как разработчику) — и вроде как людям это нравится и люди это ценят. Разве это плохо?

Статья: Парсинг в реальном времени: Система непрерывно сканирует источники на предмет обновлений, что позволяет проекту гордо заявлять о самой актуальной базе.

Истина: Всё правильно, так работает любая настоящая поисковая система в интернете, так работает и тот самый Яндекс, и Google. Только они вам почему-то не всё покажут, что нашли.

Наш проект открыт к взаимодействию к админа и владельцам трекеров и других ресурсов, которые мы парсим, мы уважаем оригинальные источники. И если есть какие-то пожелания, проблемы или вопросы — со всеми, кто также открыт, мы решаем вопросы допустимой нагрузки (а у особо продвинутых трекеров тоже есть свои специальные API для поисковых систем). С теми, кто не открыт — не решаем. Всё просто.

Статья: Микросервисы: Всё это великолепие завернуто в архитектуру на Python и FastAPI

Истина: На раннем этапе так и было, использовался только питончик и FastAPI. Со временем мы, как и все, учились понемногу, и теперь в техноарсенале не только эти (не самые плохие) инструменты. А непосредственный выбор тех или иных языков и библиотек не определяет архитектуру проекта.

Статья: Кассиры: Служебные боты для выдачи токенов и приема крипты.

Истина: С ботами-кассирами было бы и правда неплохо, но я бы научил тех, что уже есть принимать крипту или хотя бы пашины звёздочки (хотя тратить их кроме как на раскрутку канала в телеге, что мне совсем неинтересно, некуда). А вот крипта это полезно, напишите мне кто-нибудь из знающих где посмотреть качественный гайд. Пока что по старинке, принимаю пожертвования на криптокошельки. Думаю, в этой части меня как-то перехвалили.

Статья: Внутри этой сети реализована бесшовная авторизация, где твой уникальный токен работает ключом ко всем дверям сразу ... по факту вся эта армада ботов зависит от единственного центрального API, падение которого превращает всю сеть в тыкву.

Истина: Наличие внешнего открытого API не означает, что именно им мы и пользуемся для внутренней кухни, помимо того что у нас очевидно есть более эффективные и удобные способы наладить связь между (назовём это всё так в статье, для доступности) микросервисами чем HTTP. Система изначально планировалась распределенной, что подразумевает наличие нескольких серверов в различных географически разделенных датацентрах, с внутренним же распределенным API (не обязательно http, прошу обратить внимание). Если что-то падает, система не умирает, а деградирует — поиск продолжается, просто например на чуть менее свежих данных. Ах, тут снова про токены... Ну вы знаете уже.

Статья: ...аттракцион невиданной щедрости, где из-за кривой настройки прав доступа ... любой школьник мог получить административные привилегии и управлять этой Звездой Смерти по своему усмотрению, генерируя ключи доступа из воздуха

Истина: В ответ на упоминание BOLA в статье мы провели полный аудит API. Авторы увидели административные методы в OpenAPI-спецификации и справедливо предположили риски. На практике эти методы были защищены middleware с проверкой ролей, и инцидентов не зафиксировано. Однако сам факт, что они были видны в публичной документации, создавал иллюзию уязвимости и плохой архитектурный тон. Мы благодарны за это замечание — оно заставило нас пересмотреть дизайн API. Сейчас административные методы вынесены из публичного API, оставив в документации только user space.

P.S.

Статья на Neolurk — лучший комплимент, который мог получить инди-проект. Нас разобрали по косточкам. Значит, мы стали достаточно сложными и значимыми, чтобы на это тратить время. Спасибо за возможность собрать свои собственные мысли о своём занятии в некоторую относительно упорядоченную структуру. Я надеюсь, вы с пользой и удовольствием проведёте время в моем ларьке цифровой шаурмы с инфохэшами вместо куры мяса.

Best regards,
Captain Freedomist.