azve · проект 05
ПОЛЕВОЙ ОТЧЁТ · ОПЕРАЦИЯ «LONDON»

Ночь, когда весь дом переезжал в туннель — и никто этого не заметил

В октябре 2026 у литовского сервера кончилось гео-доверие: Google молча перестал отдавать нормальные ответы на его IP. Решение — переезд на новый сервер в Лондоне. Проблема: на старом держался туннель домашнего роутера, а в доме, кроме меня, никто не должен замечать «переезды» — у семьи просто всегда должен работать интернет. Эта ночь — лучший краш-тест Morrvu: системы, которая превращает «настроить VPN на роутере» в две строчки: IP сервера и пароль роутера.

ДАТА: 2026-10-08 → 10-09 МАРШРУТ: Вильнюс → Лондон ДАУНТАЙМ ДЛЯ СЕМЬИ: ≈0 УЧАСТНИКИ: 1 человек, 1 приложение
ПРЕДЫСТОРИЯ · ЗАЧЕМ ВСЁ ЭТО

«Почему ютуб крутится, а у меня ничего не грузится?»

Всё началось не с серверов, а с быта. VPN на каждом устройстве отдельно — это вечное «обнови конфиг», «у тебя отключено», «а на планшете кто настроит?». Когда в доме пять устройств, правильное место туннеля — роутер: один раз настроил, и весь дом едет через него, включая умные лампочки, которые «настроить» невозможно в принципе.

Вторая половина задачи — люди. Нормальный человек не будет читать про Hysteria2 и генерировать сертификаты. Он способен купить VPS и ввести два поля: IP сервера и пароль роутера. Всё остальное Morrvu делает сама — и именно эту границу «человек вводит два поля, машина делает всё» я проверял той ночью на собственной семье.

ХРОНИКА ПЕРЕЕЗДА

Вехи маршрута

Хроника восстановлена по журналу сервера и моим заметкам. Каждая веха — то, что Morrvu делала бы для любого пользователя автоматически; я лишь повторял её же шаги.

2026-10-08 · ДЕНЬ 0Литовский IP теряет гео-доверие

Google отдаёт капчи и пустые ответы на адрес старого сервера. Мониторинг фиксирует деградацию раньше, чем жалуются люди — уже привычная история проекта Мониторинг. Решение о переезде принято.

10-08 · ВЕЧЕРНовый сервер: ОС с нуля, стек одной командой

AlphaVPS, Лондон. Приложение заливает идемпотентные install-скрипты по SSH: пакеты, Hysteria2, Reality через sing-box, AmneziaWG, Go-агент с REST API на :8443. Перезапуск установки безопасен — скрипты докатывают, а не ломают.

10-09 · ВЕЧЕРРоутер переброшен на новый сервер

Gl.iNet Beryl подключается к агенту по reverse-SSH (:2230). Поднимается awg0, NAT и forwarding персистятся через netfilter-persistent. Со старого сервера роутер снимается без спешки.

10-09 · НОЧЬВесь дом — через Лондон

awg0 стартует вручную одной командой и страхуется cron'ом каждую минуту (обход известного глюка сетевых скриптов прошивки GL.iNet, где «авто»-интерфейс зависает). LAN эгрессится через туннель. Семья спит и ничего не замечает — краш-тест сдан.

ПОСЛЕСтабильность как фича

Через пару недель глюк прошивки повторяется на ровном месте — но cron поднимает awg0 за минуту, watchdog на сервере видит пропажу и пишет в журнал. Инцидент-репорт лёг в документацию проекта как аргумент: надёжность строится на автоматическом восстановлении, а не на надежде.

РЕШЕНИЕ 1 · ТРАНСПОРТЫ

Три трубы — чтобы блокировка одной не роняла сеть

Один транспорт — это единственная точка отказа: у каждого протокола свой путь блокировки. Morrvu ставит три класса сразу, и переключение между ними — штатная операция, а не аврал.

Hysteria2QUIC / UDP

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

Reality / VLESSTCP / TLS · sing-box

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

AmneziaWGобфусцированный WireGuard

Туннель роутера для всего дома: обфусцированные рукопожатия WireGuard, которые не ловятся сигнатурами оригинала.

РЕШЕНИЕ 2 · КНОПКА

Установка, которую можно перезапустить

Все install-скрипты идемпотентны: каждый шаг проверяет «уже сделано?» прежде чем делать. Это значит, что сбой сети на середине установки не превращает сервер в кашу — прогон просто продолжается. Для нетехнического пользователя это разница между «попробуй ещё раз» и «переустанавливай всё».

Приложение · стрим стадий установки подключение по SSH · 2.1 с hysteria2 · сертификаты · 9.4 с reality · sing-box · 11.2 с awg-туннель роутера · reverse-ssh :2230 … watchdog · политика · финиш 6/7 · идемпотентно · перезапуск безопасен
стадии стримятся в реальном времени; провал на любом шаге = «докатить», а не «начать с нуля»
РЕШЕНИЕ 3 · ГЛАВНЫЙ УРОК НОЧИ

Fail-open: когда туннель умер — дом не остался без интернета

Правило Morrvu: туннель — это привилегия, а не обязательство. Если awg0 мёртв дольше четырёх минут, роутер автоматически возвращает LAN в прямой интернет. Той ночью это превратилось из строчки конфига в философию: система, которая ради «всё через туннель» способна оставить семью без сети — хуже системы без туннеля вообще. Интернет домочадцам важнее идеологии владельца.

Обратная сторона — наблюдаемость: падение туннеля фиксируется серверным watchdog'ом и уходит в алерты Мониторинга (через tg-relay, которому не страшны блокировки). Владелец узнаёт о переключении в прямой интернет — но узнаёт от системы, а не от семьи.

ИТОГ

Чем это уникально

Morrvu — не «VPN-клиент», а оркестратор личной инфраструктуры: три транспорта с избыточностью, идемпотентная установка до продакшн-уровня, управление роутером по reverse-SSH и fail-open как обязательная страховка. Проверено не демо-стендом, а собственной семьёй: production-роутер в строю, серверов обкатано три, версия — MVP v17.

3класса транспорта
2поля ввода от человека
3сервера обкатано живьём
≈0даунтайм при переезде
КЛИЕНТKotlin · Jetpack Compose · Android
АГЕНТGo · HTTPS REST API :8443 · reverse-SSH к роутеру · JWT (trial/PRO)
СЕРВЕРHysteria2 + Reality/VLESS (sing-box) + AmneziaWG · идемпотентные install-скрипты
РОУТЕРЫOpenWrt · профили GL.iNet Beryl / Mango · split-routing · watchdog · fail-open
СТАТУСMVP v17 · прод-роутер автора в строю с 2026-10-09