Матрешка
Создание мобильного VPN-сервиса, способного сохранять доступность подключения при ограничениях основного канала за счёт нескольких независимых маршрутов и автоматического переключения между ними. Продукт объединяет приложения для iOS и Android, backend для управления устройствами и VPN-профилями, а также многоуровневую серверную инфраструктуру.
Разработать VPN-сервис для iOS и Android с простым пользовательским сценарием: активация устройства, получение индивидуального VPN-профиля и подключение одной кнопкой. Ключевой технической задачей стало создание многоуровневой архитектуры подключения с основным и резервными маршрутами. Приложение должно получать актуальную политику от backend, использовать доступный VPN-профиль и переключаться на резервный маршрут при недоступности основного канала. Также необходимо было реализовать управление устройствами, выпуск и ротацию VPN-профилей, Split Routing, контроль доступа и мониторинг состояния VPN-инфраструктуры.
- VPN
- SaaS
- Mobile
- Разработка мобильных приложений
- Разработка VPN-клиентов для iOS и Android с подключением и отключением VPN, активацией устройства и управлением сетевыми сценариями.
- Backend-разработка
- Создание серверной логики для регистрации устройств, выдачи VPN-профилей, управления доступными маршрутами и взаимодействия мобильного приложения с VPN-инфраструктурой.
- Проектирование VPN-инфраструктуры
- Разработка многоуровневой архитектуры подключения с основными и резервными маршрутами на базе Xray, VLESS Reality, Cloudflare и relay-инфраструктуры.
- DevOps и мониторинг
- Развёртывание VPN-узлов, настройка инфраструктуры, мониторинга доступности и механизмов управления VPN-профилями.
- Тестирование
- Проверка мобильных клиентов, VPN-подключений, сценариев переключения между маршрутами, привязки устройств и отказоустойчивости инфраструктуры.
- Разработаны VPN-клиенты для iOS и Android.
- Реализовано включение и отключение VPN непосредственно из мобильного приложения.
- Добавлена активация устройства через одноразовый ключ или deep link.
- Реализована выдача отдельного VPN-профиля для каждого подключённого устройства.
- Создан механизм регистрации, привязки и отключения пользовательских устройств.
- Реализована многоуровневая VPN-архитектура с основным и резервными маршрутами подключения.
- Настроен основной маршрут через VLESS Reality и зарубежный VPS.
- Добавлен резервный маршрут через Cloudflare.
- Предусмотрен дополнительный маршрут через relay-узел Yandex Cloud и xHTTP.
- Реализована логика выбора доступного VPN-маршрута в соответствии с политикой, полученной приложением от backend.
- Настроена ротация и перевыпуск VPN-профилей и UUID на уровне отдельных устройств.
- Реализован отзыв доступа отдельного устройства без отключения остальных устройств пользователя.
- Добавлен Split Routing для Android с возможностью выбора приложений, использующих VPN или прямое подключение.
- Для iOS реализуются сценарии маршрутизации в пределах возможностей публичных API платформы.
- Настроен защищённый обмен VPN-профилями между backend и мобильным приложением.
- Реализован мониторинг VPN-инфраструктуры и доступности узлов.
- Предусмотрена работа без хранения истории посещённых ресурсов: VPN-инфраструктура не сохраняет URL и адреса назначения пользовательского трафика.