M5VPN
VPN-приложение с тёмной темой, протоколом VLESS и одобрением App Store
Скриншоты
Клиент
Клиенту нужно было кастомное VPN-приложение для публикации в App Store. Требовался тёмный минималистичный дизайн и быстрое подключение через современные протоколы.
Проблема
VPN — одна из самых сложных категорий для одобрения в App Store. Apple регулярно отклоняет VPN-приложения по размытым причинам. Клиенту нужно было приложение, которое пройдёт ревью, подключается через VLESS (современный протокол, избегающий обнаружения) и имеет отполированный тёмный UI. Приложение должно работать с существующей серверной инфраструктурой клиента.
Решение
SwiftUI-приложение с принудительной тёмной темой. MVVM-архитектура с глобальным AppState и TunnelManager для управления NetworkExtension. VPN-туннель через NETunnelProviderManager с LibXray (C binding) и Tun2SocksKit для SOCKS5. VlessLinkParser парсит vless:// URI. Приоритет конфигурации: серверный xray_config JSON, фоллбэк на VLESS через LibXray. Выбор сервера с флагами стран, отображением IP, статистикой трафика. App Group shared container для передачи конфига в PacketTunnelProvider.
Результаты
- +Одобрено и опубликовано в App Store
- +Протокол VLESS через Xray core
- +Тёмный минималистичный UI со статистикой трафика
- +Network Extension с PacketTunnelProvider
- +Чистая MVVM-архитектура
Роль и сроки
iOS-разработчик. SwiftUI, NetworkExtension, интеграция Xray/VLESS. 4 недели


