Опять переставлять…

Это небольшая история о том, как мне в третий раз пришлось переставлять прошивку и пакеты на роутере.

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

После недолго копания в интернете мой выбор пал на Redmi AX6S с родной китайской прошивкой. И большое спасибо доброму товарищу за подробную инструкцию о прошивке.

Но есть и пара моментов, которые для меня оказались не очевидными вначале.

Раскирпичивание.

Чтобы раскирпичить устройство мне – заядлому линуксоиду – пришлось найти где-то в глубине своей квартиры старый виндовый ноутбук, который работал на x86 Windows 7, закинуть туда архив (инструкция по данному пункту), скачать “стабильную” прошивку, а дальше долго думать, как, черт возьми поднять sftp сервер, чтобы подключить туда роутер, и подключать роутер через wan или lan?! Оказалось все намного проще. После запуска приложухи с полностью китайким интерфейсом жмем ПРАВЫЙ НИЖНЫЙ КУБИК, на котором, видимо, написано Далее, потом выбираем прошивку и интерфейс, в который подключим наш роутер. Самое главное дойти до окошка, на котором что-то написано про Reset и есть что-то похожее на лог вывода. В этот момент резетим скрепкой (то есть включаем питание со скепкой в дырке) роутер, который у нас должен быть подключен через свой LAN интерфейс. Ждем моргания на индикации роутера, убираем скрепку, видим какое-то небольшое вылетевшее окошко с прогрессом заливки прошивки. Далее просто ждем. После некоторого времени патч можно вытащить или просто перектнуть в ноутбук, в котором лежит готовая сборка для перепрошивки.

Перепрошивка.

Да, у меня была уже скачана нужная версия программы для перепрошивки, но она была скачана на ноут, когда там стояла другая система, другое ядро, другая версия python. Сейчас на ноутбуке debian12 c python 3.11. Оказалось, что мне трубется именно версия python3.8, о чем я узнал только после нескольких попыток установки разных версий pip и pipx, переопределения venv и прочего. В итоге я взял рабочий ноутбук, на котором недавно обновил Ubuntu c 18.04 до 20.04, и запустил крипт run.sh там. Надо сказать, что ребята молодцы, учли сразу, что я могу использовать голую систему, и что надо будет поставить все необходимые зависимости.

Далее, я подключился через консоль к роутеру, переустановил там язык (не понятно, зачем), а потом залил свежий openwrt. Ну как “свежий”, просто тот, который у меня уже был готов и лежал в пути xmir-patcher/firmware/factory.bin . Все остальное, уже просто и легко. Хотя, в этот раз почему-то если вначале роутер стандартно имел адресацию 192.168.31.1, то после установки туда патча он стал иметь адресацию 192.168.28.1, а потом началась просто магия, потому что мой входной роутер вместо сети 192.168.10/24 стал неожиданно раздавать 192.168.31/24, хотя сам все ещё маршрутизировал только сеть 192.168.10/24. Святой reboot помог, но это как-то было странно и неожиданно. В любом случае, после установки openwrt роутер стал прекрасно пускать по 192.168.1.1.

Магия dns

Всегда надо проверять, что глубокоуважамый провайдер робко прячет тело жирное в утесах  уважительно к клиентам меняет параметры ip маршутизации стандартных dns серверов. host и whois нам в помощь. Поэтому заходим в System->DHCP and DNS-> Forwards и в столбец DNS Forwards вносим, GG.HH.H.HH#53 (обращаю внимание, что в конце именно h.hh, а не h.h ) и какие-нибудь ещё интересные адреса.

OPKG history

OPKG, как и история, не помнит сослагательного наклонения. Поэтому всегда надо смотреть, какие пакеты нужно ставить с нуля. Советую поставить git-http и git . C них обычно все начинается. После качаем свежую сборку от святого bol-van , закидываем ее в /tmp, делаем сразу mkdir /opt, запускаем install_prereq.sh , потом запускаем install_easy.sh , выбираем nftables, nfqws, кастомизириуем до дефолтной (у кое-кого подсмотренной) NFQWS_OPT_DESYNC=”–dpi-desync=fake,split2 –dpi-desync-ttl=4 –dpi-desync-split-pos=2 –dpi-desync-repeats=6 –dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin –wssize 1:6 –dpi-desync-fooling=md5sig”, дальше выбираем все дефолтное и радуемся , ибо красивое работает.

А что с X

Оказалось, что режим split2 не очень дружит с одной Хорошей социальной сетью, не взлетает . Поэтому можно попробовать конфиг NFQWS_OPT_DESYNC=”–dpi-desync=fake,disorder2 –dpi-desync-ttl=4 –dpi-desync-split-pos=2 –dpi-desync-repeats=6 –dpi-desync-fake-tls=/opt/zapret/files/fake/tls_clienthello_www_google_com.bin –wssize 1:6 –dpi-desync-fooling=md5sig,badsum” . Или поиграться с –dpi-desync-split-pos или с –dpi-desync-ttl=0 и даже без badsum. Но почему-то после этого некоторый видеохостинг перестает показывать на телефонах/телевизорах/firefox-ах. Поэтому, просто помним, что лучшее – враг хорошего.