Матрешка — VPN-сервис для iOS и Android с многоуровневой архитектурой подключения
Матрешка — VPN-приложение для iOS и Android с автоматическим выбором доступного канала подключения и резервными сценариями на случай блокировки основного маршрута.
Telegram: https://t.me/FreeBlockDev
В рамках проекта разработана архитектура VPN-сервиса, мобильные клиенты, система выдачи и управления VPN-профилями, привязка устройств и логика автоматического переключения между уровнями подключения.
Основной функционал
* VPN-клиенты для iOS и Android;
* подключение и отключение VPN одной кнопкой;
* активация устройства через одноразовый ключ или deep link;
* индивидуальные VPN-профили для каждого устройства;
* автоматический выбор доступного VPN-маршрута;
* резервное подключение при недоступности основного канала;
* управление и перевыпуск VPN-профилей;
* отзыв доступа для отдельных устройств без влияния на остальные;
* Split Routing на Android;
* ограниченные сценарии bypass-маршрутизации на iOS;
* push-уведомления о состоянии доступа;
* мониторинг VPN-инфраструктуры.
VPN-архитектура
Для сервиса предусмотрена многоуровневая схема подключения.
Layer 0
Основной маршрут: устройство → VLESS Reality → VPS в Нидерландах → интернет.
Layer 1
Резервный маршрут через Cloudflare CDN, который используется при проблемах с прямым подключением к VPS.
Layer 2
Дополнительный маршрут через relay-узел Yandex Cloud с дальнейшей передачей трафика на зарубежный VPS через xHTTP.
Приложение получает от backend готовую политику подключения и использует только разрешённые для устройства VPN-профили. При недоступности основного маршрута переключение может происходить автоматически в соответствии с заданной логикой.
Управление устройствами и VPN-профилями
Каждое устройство получает отдельный VPN-профиль и собственный UUID.
Профиль может автоматически перевыпускаться при:
* первой активации устройства;
* повторной привязке;
* компрометации ключа;
* отзыве устройства;
* плановой ротации параметров подключения.
Отключение одного устройства не затрагивает VPN-доступ на других активных устройствах пользователя.
Приватность
VPN-инфраструктура спроектирована без хранения истории посещённых пользователем ресурсов.
На VPN-узлах не сохраняются URL, SNI и IP-адреса назначения пользовательского трафика. Фиксируются только технические события и метаданные VPN-сессий, необходимые для работы сервиса.
Технологический стек
Mobile:
React Native, Hiddify-based client core / Sing-box
VPN:
Xray-core, VLESS, Reality, xHTTP, 3X-UI
Infrastructure:
Cloudflare, Yandex Cloud, VPS, Ubuntu LTS
Backend:
NestJS, REST API, Redis
Monitoring:
Prometheus, Grafana, Loki
Матрешка — пример разработки VPN-продукта, где мобильное приложение, backend и инфраструктура работают как единая система с управляемыми профилями подключения, резервными маршрутами и автоматической логикой переключения.