Skip to content

Repository files navigation

MaxSpeedVPN — Android VPN client

Release Android CI GPL-3.0 Android 8.0+ Kotlin

Открытый Android VPN-клиент на Kotlin и Jetpack Compose.
Подписки, выбор сервера, Xray-core и прозрачная диагностика VPN-сессии.

Скачать APK · ShieldCN · Собрать из исходников · Статус проекта · Лицензия и бренд


О проекте

MaxSpeedVPN — Android VPN-клиент с тёмным интерфейсом, управлением подписками и нативным сетевым конвейером на базе Xray-core или sing-box и HEV tun2socks.

Проект создаётся как понятная, расширяемая альтернатива перегруженным универсальным клиентам: обычные действия доступны из основного интерфейса, а технические события и ошибки не скрываются от пользователя.

Warning

Текущий статус — alpha. APK предназначен для разработки и тестирования. Проект ещё не прошёл полный аудит безопасности и приёмочные испытания на широком наборе устройств. Текущий release использует debug-подпись.

Возможности

Уже реализовано

  • тёмный интерфейс на Jetpack Compose + Material 3;
  • единая главная с подключением, серверами, подписками и сворачиваемым журналом; нижняя навигация из двух разделов;
  • добавление, обновление и безопасный deep-link/clipboard импорт подписок;
  • versioned export/import резервной копии через системный Android document picker с подтверждением и валидацией;
  • Base64 и plain-text списки серверов;
  • импорт ссылок VLESS, VMess, Trojan, Shadowsocks, Hysteria2/Hy2, TUIC, NaiveProxy и Mieru;
  • безопасный mieru:// deep-link импорт с проверкой версии и подтверждением перед сохранением;
  • группы, поиск, избранное, TCP endpoint latency и сортировка серверов;
  • трафик, лимит и срок действия из subscription-userinfo;
  • Android VpnService, foreground-уведомление и HEV tun2socks;
  • реальное переключение Xray-core / sing-box 1.13.14 extended с XHTTP и Naive outbound;
  • state machine, crash recovery и fail-closed проверка sing-box-конфигурации;
  • простые режимы маршрутизации для обоих ядер: всё через VPN, обход LAN и собственные исключения доменов/IP;
  • расширенные MTU, DNS, IPv6, выбор ядра и backup скрыты от основного экрана;
  • персистентный журнал с фильтрами, очисткой и экспортом;
  • unit-тесты, Android smoke и сборка в GitHub Actions;
  • universal APK и уменьшенные APK для четырёх ABI с SHA-256.

В разработке

  • импорт QR-кодов;
  • исключение отдельных приложений из VPN;
  • дополнительные форматы подписок и sing-box transports;
  • quick settings tile и проверка обновлений;
  • production signing и широкая device matrix.

Поддерживаемые форматы

Формат Импорт Xray sing-box Статус
VLESS TCP, WS, gRPC; XHTTP — sing-box extended
VMess Alpha
Trojan Alpha
Shadowsocks Alpha
Hysteria2 / Hy2 Нативный sing-box outbound
TUIC Нативный sing-box outbound
NaiveProxy naive+https://, Cronet-enabled core
Subscription URL Base64 или plain text
sing-box runtime 1.13.14 extended, pinned source и SHA-256

Поддержка формата ссылки не означает совместимость со всеми комбинациями transport/security. Перед использованием проверяйте конкретный профиль и журнал подключения.

Архитектура

┌───────────────────────────── MAXSPEEDVPN ──────────────────────────────┐
│                                                                 │
│  Jetpack Compose UI                                             │
│     │                                                           │
│     ├── SubscriptionRepository → Parser → Xray JSON             │
│     │                                                           │
│     └── MaxSpeedVpnService                                      │
│             │                                                   │
│             ▼                                                   │
│       VpnSessionCoordinator ───────────────→ Persistent AppLog  │
│             │                                  ▲                │
│             ├── XrayEngine ────────────────────┤                │
│             │       ▲                          │                │
│             └── Android TUN → HEV tun2socks ──┘                │
│                                   │                             │
│                                   └──→ SOCKS 127.0.0.1:10808    │
│                                                │                │
│                                                └──→ Xray → сеть │
└─────────────────────────────────────────────────────────────────┘

Поток подключения

Профиль подписки
      │
      ▼
SubscriptionParser → Xray JSON с локальным SOCKS inbound
      │
      ▼
MaxSpeedVpnService → VpnSessionCoordinator
      │
      ├── Android VpnService создаёт TUN
      ├── HEV tun2socks получает TUN FD
      └── XrayEngine запускает локальный SOCKS и outbound

Android traffic → TUN → HEV → SOCKS 127.0.0.1:10808 → Xray → сеть

Скачать

Готовые сборки и описание изменений публикуются на странице GitHub Releases. Полная история — в CHANGELOG.md.

Полезная ссылка

ShieldCN — официальный ресурс проекта.

Выбирайте файл по архитектуре устройства:

APK Для кого Размер debug-сборки
arm64-v8a большинство современных телефонов ~49 MiB
armeabi-v7a старые 32-битные ARM-устройства ~50 MiB
x86_64 эмуляторы и редкие x86_64-устройства ~51 MiB
x86 старые x86-устройства/эмуляторы ~52 MiB
universal если архитектура неизвестна ~151 MiB

ABI-specific APK примерно на 65–68% меньше universal. Для каждого релиза публикуется SHA256SUMS.txt; проверяйте checksum перед установкой. Android может предупреждать об установке приложения вне магазина — это нормально для GitHub-сборки.

Сборка

Требования

Компонент Версия/требование
JDK 17
Android SDK 34
Gradle wrapper 8.5
Android Gradle Plugin 8.2.2
Kotlin 1.9.22
CLI curl, unzip, readelf, strings

Команды

git clone https://github.com/envywook/MaxSpeedVPN.git MaxSpeedVPN
cd MaxSpeedVPN

./scripts/prepare-native-deps.sh
./gradlew testDebugUnitTest assembleDebug

APK появятся здесь:

app/build/outputs/apk/debug/app-arm64-v8a-debug.apk
app/build/outputs/apk/debug/app-armeabi-v7a-debug.apk
app/build/outputs/apk/debug/app-x86_64-debug.apk
app/build/outputs/apk/debug/app-x86-debug.apk
app/build/outputs/apk/debug/app-universal-debug.apk

Нативные бинарники не хранятся в Git. prepare-native-deps.sh загружает закреплённые версии и проверяет SHA-256:

  • AndroidLibXrayLite v26.7.19;
  • HEV-библиотеки из официальных APK v2rayNG 2.2.6.

CI/CD

Workflow Android CI and Release:

Событие Результат
Push в main unit-тесты, сборка APK, CI artifact
Pull request unit-тесты и сборка
Тег v* тесты, сборка и GitHub pre-release с APK и SHA-256
Ручной запуск тесты и CI artifact

Android CI

Статус проекта

Подсистема Состояние
UI shell 🟡 Базовые пять разделов готовы
Подписки и выбор сервера 🟡 Реализовано, расширяется совместимость
Xray runtime 🟡 Интегрирован, продолжается device acceptance
HEV tun2socks 🟡 JNI подключён, startup pipeline стабилизируется
Персистентная диагностика 🟢 Работает
sing-box runtime ⚪ Запланирован
Production signing ⚪ Не настроен
Security review ⚪ Не завершён

Безопасность

  • Не публикуйте subscription URL, UUID, ключи REALITY и другие секреты в issues или логах.
  • Не устанавливайте APK из непроверенных зеркал.
  • Уязвимости отправляйте по инструкции в SECURITY.md, а не через публичный issue.
  • Правила использования сторонних компонентов перечислены в THIRD_PARTY_NOTICES.md.

Участие в разработке

Issues и pull requests приветствуются. Для отчёта об ошибке приложите:

  1. модель устройства и версию Android;
  2. версию MaxSpeedVPN;
  3. тип профиля без секретных параметров;
  4. точную последовательность действий;
  5. обезличенный фрагмент журнала.

Перед pull request выполните:

./gradlew testDebugUnitTest assembleDebug

Лицензия, бренд и форки

Исходный код MaxSpeedVPN распространяется по лицензии GNU GPL-3.0, если конкретный файл не указывает иное. Сторонние компоненты сохраняют собственные лицензии — см. THIRD_PARTY_NOTICES.md.

Название MaxSpeedVPN, логотипы, иконка приложения, фирменный визуал, официальные artwork, домены, подпись официальных APK и официальная инфраструктура не предоставляются по GPL. Они регулируются TRADEMARKS.md и assets/LICENSE.md.

Форк кода допустим в рамках GPL, но модифицированная или распространяемая версия должна сменить название, package ID, иконку и брендинговые материалы, удалить ссылки на официальную инфраструктуру и явно обозначить себя как независимый неофициальный форк. Публичный исходный код не даёт доступ к подпискам, API, update-сервису, приватным ключам или официальной поддержке.


MaxSpeedVPN · Android · Kotlin · Xray-core · sing-box · HEV tun2socks

About

MaxSpeedVPN — open-source Android VPN client with subscriptions, Xray-core, sing-box and HEV tun2socks

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages