Обновить

Точечная маршрутизация на роутере через VLESS/Trojan-подписку со своей балансировкой (OpenWrt/Keenetic)

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели16K
Всего голосов 16: ↑16 и ↓0+18
Комментарии16

Комментарии 16

В Re:HomeProxy уже это есть + можно установить и настроить что-бы трафик на определенные ресурсы шел через Zapret или Bydpi.

https://habr.com/ru/articles/1036064/

Крутой проект - но решает немного другую задачу:HomeProxy (как и Zapret/ByDPI) больше про обход DPI на конкретных ресурсах, а SmartRoute — про то, как стабильно жить с подпиской на пул из десятков серверов (через балансировку)

Из того, чего в HomeProxy явно нет:

  • Кроссплатформенность — один и тот же пакет ставится и на KeenticOS, и на чистый OpenWrt (там встроенный перехват трафика xkeen -ap не работает на nftables — пришлось писать свой).

  • Постоянный балансировщик — это вообще главная идея проекта. Каждые N минут SmartRoute гоняет Xray'евский Observatory (app/observatory, реальный health-check через полный VLESS/REALITY-хендшейт, а не просто TCP-пинг) по всем серверам подписки и выбирает живой с наименьшей задержкой. Причём если сработало правило — например, переход на конкретный сайт — серверы именно этого правила проверяются в приоритете, а не наравне со всем пулом.

Ещё пара отличий: в статье про HomeProxy явно написано, что в кастомных правилах можно использовать только доменные списки (причем указанна ссылка на списки ItDog, чьей статьёй я и вдохновлялся). А у нас была потребность ещё и в CIDR/IP-диапазонах — часть трафика (Telegram MTProto и подобное) вообще не несёт SNI/DNS, по домену её не поймать. Поэтому в кастомных правилах SmartRoute — geosite-списки, свои домены и CIDR-диапазоны можно собрать во едину в одно правило (а CIDR можно вбить руками или загрузить в формате .bat-роутов Keenetic).

Плюс из ИБ: Kill-Switch без окна уязвимости и защита от утечек — DNS, IPv6, QUIC/HTTP3.

Хоумпрокси это монстр, который тащит за собой кучу зависимостей и жрет память как не в себя. Для слабого кинетика нужен легковесный скрипт, а не комбайн для всего на свете

Честно говоря, не понял преимущества над решением itdog, сам последний активно использую. И балансировка на singbox отлично работает. И домены дополнительные можно легко прописывать через интерфейс в ip sets. И любые правила по ИП или диапазону как входящему, так и исходящему можно гибко создавать, указывая им соответствующую таблицу. Единственное, давно не видел обновления в репозитории itdog и на новых прошивках не работает. Поэтому навайбкодил форк для openwrt 25+ версий, немного упростив для своих целей.

Скрытый текст

Он его уже давно не поддерживает, так как появился podkop

О! Не знал, что подкоп его. Всегда думал, что это просто прокси, оказалось что тот же domain routing + fake ip. А где можно прочитать про "отравление" днс-записей в приложениях, которые сами кэшируют IP, в случае смены сети. Речь в первую очередь про стек cronet (youtube, google maps, etc)?

Очень не хватало именно такого решения. Запарился руками перебирать конфиги через xkeen-UI. Голову сломал в попытках понять и завести Zashboard. У вас все выглядит очень органично, интуитивно просто и понятно. Спасибо за ваш труд!

Passwall2 на OpenWRT вроде имеет все эти функции

Passwall2 комбайн, с множеством настроек, для рядового пользователя придется покурить его фичи

Я правильно понимаю что это будет работать пока ркн не заблокирует оставшиеся фингерпринты?

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

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

Вы завели XKeen на OpenWRT? Не понимаю, какая часть документации относится к тем, у кого нет кинетиков.

Именно, вся документация для тех у кого нет кинетиков - все спокойно штатно заводиться на OpenWRT (и вся дока под OpenWRT - все было протестированно полностью)

Весь этот чужеродный рантайм ( Entware и XKeen ) ставится вами на OpenWRT? Есть другие проекты с такими системными требованиями - или вы единственный?

Лично мой интерес простой: я не прочь попробовать и ради этого остановить рабочий Re: HomeProxy на моей 25.12.5. Но не хочу вступать на скользкую дорогу в один конец, нужен путь отката.

Ну гарантий естесвенно дать не могу, я же без понятия какой роутер у вас. К тому же я все еще дорабатываю и тестирую в полную проект. Причем на OpenWRT и кинитике одновременно. Вот например, скрины с WRT без SmartRouteUI (без нашего красивого UI) на голом WRT: https://github.com/LackyCraft/xkeen-smartroute/tree/master/docs/screenshots/OpenWRTUI

Ну если хочеться попробывать или бекап делать полный или роутер взять тестовый старый, какой-нибудь.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации