Skip to content

win2happy/VPNclient-app

 
 

Repository files navigation

VPNclient-app

Unified VPN Client с интегрированным функционалом из всех форков (orange, green, khongkha).

🎯 Что это?

VPNclient-app теперь содержит ВСЕ лучшие функции из форков:

  • .env конфигурация (из orange)
  • ✅ Onboarding system (из orange)
  • ✅ Deep links (из orange)
  • ✅ Улучшенный VpnService (из green)
  • ✅ Feature flags для всего UI
  • ✅ Полная кросс-платформенная поддержка через flutter_vpn_engine

Все настраивается через .env файл без изменения кода!

🚀 Быстрый старт

1. Создайте .env файл

cp env.example .env

2. Настройте конфигурацию

# Минимальная конфигурация для корпоративного использования APP_NAME=My VPN SUBSCRIPTION_URL_MAIN=https://your-subscription-url SHOW_ONBOARDING=false SHOW_STAT_BAR=true

3. Установите зависимости

flutter pub get

4. Запустите

flutter run

📚 Документация

🎨 Примеры конфигурации

Публичное приложение (с Telegram)

SUBSCRIPTION_URL_MAIN= SHOW_ONBOARDING=true TELEGRAM_BOT_URL=t.me/YourVPNBot ENABLE_DEEP_LINKS=true SHOW_STAT_BAR=true SHOW_APPS_PAGE=true SHOW_SETTINGS_PAGE=true

Корпоративное приложение

APP_NAME=Corporate VPN SUBSCRIPTION_URL_MAIN=https://company.vpn/sub/token SHOW_ONBOARDING=false AUTO_CONNECT_ON_START=true ENABLE_KILL_SWITCH=true SHOW_APPS_PAGE=false SHOW_SETTINGS_PAGE=false

White-label решение

APP_NAME=MyBrand VPN SUBSCRIPTION_URL_MAIN=https://panel.mybrand.com/sub/token SHOW_ONBOARDING=true TELEGRAM_BOT_URL=t.me/MyBrandVPNBot TELEGRAM_SUPPORT_URL=t.me/MyBrand_support SHOW_STAT_BAR=true SHOW_APPS_PAGE=true SHOW_SETTINGS_PAGE=true

✨ Ключевые возможности

ConfigService

Централизованная конфигурация через .env:

  • Subscription URLs
  • Onboarding настройки
  • Feature flags
  • VPN engine параметры
  • UI кастомизация

Onboarding System

Умный onboarding с поддержкой:

  • Обязательный режим (для публичных приложений)
  • Опциональный режим (для корпоративных)
  • Telegram bot интеграция
  • Deep links для автоматического возврата

VpnService

Продвинутый сервис VPN:

  • Stream-based reactive API
  • Таймер соединения
  • Статистика в реальном времени
  • Логирование с rotation
  • Автоподключение
  • Поддержка всех cores и drivers

Feature Flags

  • SHOW_STAT_BAR - Статистика (скорость, трафик, пинг)
  • SHOW_APPS_PAGE - Split tunneling
  • SHOW_SETTINGS_PAGE - Настройки
  • ENABLE_DEEP_LINKS - Deep links
  • AUTO_CONNECT_ON_START - Автоподключение
  • ENABLE_KILL_SWITCH - Kill switch
  • DEBUG_MODE - Отладка

🏗️ Архитектура

VPNclient-app ├── lib/ │ ├── services/ # Новые сервисы │ │ ├── config_service.dart (из orange) │ │ ├── onboarding_service.dart (из orange) │ │ ├── deep_link_service.dart (из orange) │ │ └── vpn_service.dart (из green) │ ├── pages/ │ │ ├── onboarding/ # Новый │ │ │ └── onboarding_screen.dart (из orange) │ │ ├── main/ │ │ ├── servers/ │ │ ├── apps/ │ │ ├── settings/ │ │ └── speed/ │ └── main.dart # Обновлен ├── env.example # Новый └── .env # Создать из example 

📦 Зависимости

dependencies: vpnclient_engine: # Unified VPN engine path: ../flutter_vpn_engine flutter_dotenv: ^5.1.0 # .env конфигурация app_links: ^3.4.5 # Deep links provider: ^6.0.0 # State management # ... другие зависимости

🔧 Разработка

Добавление нового feature flag

  1. Добавьте в env.example:

    NEW_FEATURE=true
  2. Добавьте getter в ConfigService:

    static bool get newFeature => _getBool('NEW_FEATURE', false);
  3. Используйте в коде:

    if (ConfigService.newFeature) { // Ваш код }

Тестирование onboarding

// Сбросить onboarding для тестирования await OnboardingService().resetOnboarding();

Debug режим

DEBUG_MODE=true ENABLE_LOGGING=true

Выведет полную конфигурацию при запуске.

🐛 Troubleshooting

.env не загружается

  1. Проверьте, что файл в корне проекта
  2. Убедитесь что в pubspec.yaml:
    flutter: assets: - .env
  3. flutter clean && flutter pub get

Onboarding не работает правильно

  • Проверьте SUBSCRIPTION_URL_MAIN и SHOW_ONBOARDING
  • Очистите данные приложения
  • См. ENV_CONFIGURATION.md

Deep links не работают

📊 Сравнение

Функция До интеграции После интеграции
Конфигурация Хардкод ✅ .env файл
Onboarding ✅ Умный onboarding
Deep Links ✅ Поддерживается
VPN Service Базовый ✅ Продвинутый
Feature Flags ✅ Полная поддержка
UI кастомизация Хардкод ✅ Через конфиг

🎉 Итог

Теперь у вас ОДИН универсальный VPNclient-app который:

  • 📱 Работает на всех платформах (Android, iOS, Windows, Linux, macOS)
  • ⚙️ Настраивается через .env без изменения кода
  • 🎨 Поддерживает любые сценарии (публичный, корпоративный, white-label)
  • 🚀 Содержит лучшие функции из всех форков
  • 📚 Полностью задокументирован

📞 Поддержка

📄 Лицензия

MIT License - см. LICENSE


Версия: 2.0.0
Дата: 21 октября 2025
Команда: VPNclient Team

🎊 Успешная интеграция завершена!

About

VPN Client Application based on Flutter VPN Client Controller: Xray(VMESS, VLESS, REALITY) + WireGuard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 65.8%
  • C++ 12.0%
  • CMake 9.5%
  • Swift 8.8%
  • Ruby 1.3%
  • Kotlin 1.3%
  • Other 1.3%