В октябре 2026 у литовского сервера кончилось гео-доверие: Google молча перестал отдавать нормальные ответы на его IP. Решение — переезд на новый сервер в Лондоне. Проблема: на старом держался туннель домашнего роутера, а в доме, кроме меня, никто не должен замечать «переезды» — у семьи просто всегда должен работать интернет. Эта ночь — лучший краш-тест Morrvu: системы, которая превращает «настроить VPN на роутере» в две строчки: IP сервера и пароль роутера.
Всё началось не с серверов, а с быта. VPN на каждом устройстве отдельно — это вечное «обнови конфиг», «у тебя отключено», «а на планшете кто настроит?». Когда в доме пять устройств, правильное место туннеля — роутер: один раз настроил, и весь дом едет через него, включая умные лампочки, которые «настроить» невозможно в принципе.
Вторая половина задачи — люди. Нормальный человек не будет читать про Hysteria2 и генерировать сертификаты. Он способен купить VPS и ввести два поля: IP сервера и пароль роутера. Всё остальное Morrvu делает сама — и именно эту границу «человек вводит два поля, машина делает всё» я проверял той ночью на собственной семье.
Хроника восстановлена по журналу сервера и моим заметкам. Каждая веха — то, что Morrvu делала бы для любого пользователя автоматически; я лишь повторял её же шаги.
Google отдаёт капчи и пустые ответы на адрес старого сервера. Мониторинг фиксирует деградацию раньше, чем жалуются люди — уже привычная история проекта Мониторинг. Решение о переезде принято.
AlphaVPS, Лондон. Приложение заливает идемпотентные install-скрипты по SSH: пакеты, Hysteria2, Reality через sing-box, AmneziaWG, Go-агент с REST API на :8443. Перезапуск установки безопасен — скрипты докатывают, а не ломают.
Gl.iNet Beryl подключается к агенту по reverse-SSH (:2230). Поднимается awg0, NAT и forwarding персистятся через netfilter-persistent. Со старого сервера роутер снимается без спешки.
awg0 стартует вручную одной командой и страхуется cron'ом каждую минуту (обход известного глюка сетевых скриптов прошивки GL.iNet, где «авто»-интерфейс зависает). LAN эгрессится через туннель. Семья спит и ничего не замечает — краш-тест сдан.
Через пару недель глюк прошивки повторяется на ровном месте — но cron поднимает awg0 за минуту, watchdog на сервере видит пропажу и пишет в журнал. Инцидент-репорт лёг в документацию проекта как аргумент: надёжность строится на автоматическом восстановлении, а не на надежде.
Один транспорт — это единственная точка отказа: у каждого протокола свой путь блокировки. Morrvu ставит три класса сразу, и переключение между ними — штатная операция, а не аврал.
Скоростной профиль: агрессивная работа с потерями. Первый кандидат на блокировку по UDP — и первым уходит в резерв.
Маскируется под обычный HTTPS-трафик к обычному сайту. Живёт дольше всех, когда DPI-системы режут всё незнакомое.
Туннель роутера для всего дома: обфусцированные рукопожатия WireGuard, которые не ловятся сигнатурами оригинала.
Все install-скрипты идемпотентны: каждый шаг проверяет «уже сделано?» прежде чем делать. Это значит, что сбой сети на середине установки не превращает сервер в кашу — прогон просто продолжается. Для нетехнического пользователя это разница между «попробуй ещё раз» и «переустанавливай всё».
Правило Morrvu: туннель — это привилегия, а не обязательство. Если awg0 мёртв дольше четырёх минут, роутер автоматически возвращает LAN в прямой интернет. Той ночью это превратилось из строчки конфига в философию: система, которая ради «всё через туннель» способна оставить семью без сети — хуже системы без туннеля вообще. Интернет домочадцам важнее идеологии владельца.
Обратная сторона — наблюдаемость: падение туннеля фиксируется серверным watchdog'ом и уходит в алерты Мониторинга (через tg-relay, которому не страшны блокировки). Владелец узнаёт о переключении в прямой интернет — но узнаёт от системы, а не от семьи.
Morrvu — не «VPN-клиент», а оркестратор личной инфраструктуры: три транспорта с избыточностью, идемпотентная установка до продакшн-уровня, управление роутером по reverse-SSH и fail-open как обязательная страховка. Проверено не демо-стендом, а собственной семьёй: production-роутер в строю, серверов обкатано три, версия — MVP v17.
| КЛИЕНТ | 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 |