100500 решение для вредного трафика: «навайбкожено, а не в канаву брошено»

Для владельцев роутеров Keenetic/Netcraze, которые, как и автор, не смогли найти удобной управлялки Xray - навайбкоженное решение для управления ею.
Предисловие
Тому уж скоро 10 лет, как всё российское сетевое сообщество вынуждено помогать Роскомнадзору распространять информацию о том, к каким сервисам ходить нельзя, а к каким можно, и автоматизировать нехождение туда, куда нельзя. Благо, в последнее время ЦМУ ССОП очень старается сделать доступность запрещенных ресурсов всё более и более сложной, что заставляет нас помогать Роскомнадзору всё изощреннее и изощреннее. Но мы тщательно добиваемся отправки вредного трафика в ад, где каждый отдельно взятый пакет мучают так, что Иероним Босх нервно крестится в своем некомфортабельном гробу.
Для того, чтобы обеспечить эффективную доставку, за эти годы появилось множество сервисов, распространяющих необходимую информацию по подписной модели. Подписки этих сервисов нужно загружать в какой-то движок, который потом и определяет, что же делать с трафиком, пришедшим на ваш пограничный маршрутизатор.
Disclaimer:
Автор статьи никоим образом не призывает читателя использовать богомерзкое изобретение из трех букв, равно как и не рекламирует никакую из компаний, такие три буквы предоставляющих. Законы государства, в котором вы живете, необходимо соблюдать соответственно вашему их пониманию. Статья же посвящена техническому решению, позволяющему более эффективно маршрутизировать трафик на различных платформах.
И вот тут оказывается, что движки очень по-разному реализуют протоколы. Например, движок на букву M всем хорош, пригож, красив и удобен, в нем можно удобно разложить разные пакеты по разным кругам ада - но при этом сам протокол доставки в нем реализован с некоторым запозданием относительно современных его версий. Добры молодцы из ЦМУ ССОП (а точнее их пособники из коммерческих компаний, выпускающие оборудование для их работы, список которых тщательно сохраняется в красном углу каждого патриота для ежедневного возношения им хвалы) успешно отлавливают использование протокола доставки, реализованного в этом движке, поэтому и помощь им никакая не требуется. По опыту (конечно же, чужому, пересказанному на иностранных форумах) в течение 5-15 минут после запуска такого протокола он успешно блокируется и пакеты опять не могут быть мучимы в аду.
А вот движок на букву Хер реализует протоколы в их гораздо более современной имплементации, которая предательски проникает через щиты, какие они есть сейчас. Но вот беда - интерфейсно движок ужасен и джейсонен в использовании, никакой тебе красоты и удобства, даже вместе с ХерКином. Что и немудрено для такого идолища поганого.
И если для, например, OpenWRT есть много надстроек, позволяющих отправлять пакеты в ад через этот движок с большим комфортом, то для популярных роутеров Keenetic/Netcraze я такой надстройки не нашел. Впрочем, не говорю, что ее не существует - может быть просто плохо искал. Но в наш век LLM проще навайбкодить новое, чем найти готовое.
Поэтому для тех, кто, пытаясь помочь РКН, страдает как я страдал, представляю решение по имени Xsub.
Что делает
читает все подписки, которые вы в него подключите, и выстраивает к каждому серверу в подписке отдельное подключение
постоянно тестирует доступность всех подключений, выбирает самое надежное и с наименьшей задержкой
что немаловажно, тестирует доступность реальным, задаваемым в настройках объемом ни в чем не повинного трафика, чтобы быть уверенным, что добры молодцы не поставили на этом пути ловушку 16-20к хитромудрую
умеет раскладывать разные цели (доменные имена, IP, списки по подписке) по разным кругам ада с любой, по сути, дискретностью
рассказывает про свое поведение в мессенджер
Много рассказывать не буду, враги не дремлют, но по ссылке решение доступно, там подробный readme.
Как сделано
Как и написано в заголовке, навайбкожено на Go. Результат, как и всё на Go, маленький - единицы мегабайт. Лицензия MIT; как выражается один музыкант "Да делайте что хотите!". Можно приносить пуллреквесты, в том числе и навайбкоженные - будем склеивать.
Как начать
Опять же, всё написано в readme, но если коротко - традиционные однострочники.
Если вы хотите просто установить пакет на роутер:
curl -fsSL https://raw.githubusercontent.com/furriest/xsub/main/install.sh | sh
Если вы хотите подключить его к opkg и устанавливать-обновлять через него:
curl -fsSL https://raw.githubusercontent.com/furriest/xsub/main/install.sh | XSUB_FEED=1 sh
Впрочем, opkg ему совсем не нужен - будучи один раз установлен, дальше обновляться он умеет и полуавтоматически, из своего интерфейса.
После установки доступен по адресу http://<IP роутера>:8099
Также по просьбам сочувствующих граждан реализован режим работы в докер-контейнере на x86_64/arm64 сервере. Поскольку сервер чаще всего - не шлюз по умолчанию, то серверный режим - это пять раз ношеные носки, от запаха которых пакеты еще до попадания в ад страдают неимоверно. Как вы в эти носки отправите трафик - это уже ваше дело.
Заключение
В наше время сложно растекаться мысию по древу в публичных платформах на тему ада и маршрутизации, поэтому статья фактически просто про то, что такое решение есть. В заголовке readme есть ссылка на пока что пустой чатик, там можно задавать вопросы, уточнять уточняемое и предлагать доработки.
И будем надеяться, что когда-нибудь такие решения перестанут быть нужны.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.