A professional, modern VPN application for Android with support for V2Ray/Xray protocols
Features β’ Installation β’ Build β’ Screenshots β’ Contributing
Telegram Channel = https://t.me/CluvexStudio
- π Multiple Protocols: VMess, VLESS, Trojan, Shadowsocks
- π Advanced Transports: TCP, WebSocket, HTTP/2, gRPC, QUIC, XHTTP, HTTPUpgrade
- π Real-time Statistics: Live upload/download speed, connection duration, data usage
- β‘ Concurrent Ping Testing: Fast latency testing for all servers simultaneously
- π Subscription Management: Auto-update servers from subscription URLs
- π― Per-App Proxy: Route specific apps through VPN (Split Tunneling)
- π± Modern Fluent Design: Beautiful UI with Glassmorphism effects
- π Light/Dark Mode: Seamless theme switching with persistence
- ποΈ Smart Config Cards: Click-to-select, individual ping, context menu
- π QR Code Support: Scan and generate QR codes for easy sharing
- ποΈ Smart Cleanup: Auto-delete failed/dead configurations
- πΎ Backup & Restore: Export/import configs as JSON to Downloads folder
- π€ Easy Import: Clipboard, QR scanner, manual entry
- π Search & Sort: Find and organize your servers efficiently
- π Individual Ping: Test specific server latency on demand
- π Connection Monitoring: Track network status and VPN health
- π― Auto-Connect: Remember last selected server
- π Secure Storage: Encrypted local storage for sensitive data
Home Screen | Servers | Settings |
---|---|---|
Coming Soon | Coming Soon | Coming Soon |
- Frontend: Flutter 3.35.5 (Dart 3.9.2)
- UI Framework: Fluent UI 4.11.5
- Backend: Kotlin 2.2.20
- VPN Core: Xray-core 1.25.3
- Build System: Gradle 8.7.3
- Target SDK: Android 16 (API 36)
- Min SDK: Android 7.0 (API 24)
- Architecture: Hybrid (Flutter UI + Kotlin Native Layer)
Download the latest APK from GitHub Releases
Recommended: app-arm64-v8a-release.apk
(for most modern devices)
- Android: 7.0 (Nougat) or higher
- Architecture: ARM64-v8a, ARMv7, x86_64
- Storage: ~50 MB
- RAM: Minimum 2 GB recommended
- Flutter SDK: 3.35.5+ (Install Flutter)
- Android SDK: 34
- Java JDK: 11 or higher
- Git
git clone https://github.com/CluvexStudio/ZedSecure.git
cd ZedSecure
flutter pub get
For development builds, skip this step. For release builds:
- Create your keystore:
keytool -genkey -v -keystore android/app/your-release-key.keystore \
-alias your-alias -keyalg RSA -keysize 4096 -validity 10000
- Create
key.properties
in project root:
storeFile=android/app/your-release-key.keystore
storePassword=YOUR_PASSWORD
keyAlias=your-alias
keyPassword=YOUR_PASSWORD
- Add to
.gitignore
(already configured):
key.properties
android/app/*.keystore
Option 1: Build for specific architecture (Recommended)
# ARM64 (most devices, smallest size)
flutter build apk --release --target-platform android-arm64
# ARMv7 (older devices)
flutter build apk --release --target-platform android-arm
# x86_64 (emulators)
flutter build apk --release --target-platform android-x64
Option 2: Build all architectures
flutter build apk --release --split-per-abi
Option 3: Universal APK (larger size)
flutter build apk --release
Debug Build:
flutter build apk --debug
APK files will be located at:
build/app/outputs/flutter-apk/
- Open Subscriptions tab
- Tap Add Subscription button
- Enter URL and name
- Tap Update to fetch servers
- Copy a config link (vmess://, vless://, trojan://, ss://)
- Open Servers tab
- Tap Paste button (clipboard icon)
- Open Servers tab
- Tap QR Scanner button
- Scan QR code
- Select a server: Tap on any server card to select it
- Test latency (optional): Tap ping icon or use Sort by Ping
- Connect: Tap the plug icon on your selected server
- Grant VPN permission when prompted
- Monitor connection stats on Home screen
- Ping Single Server: Tap speed icon on server card
- Ping All Servers: Tap sort icon in toolbar (concurrent, fast!)
- Copy Config: Open three-dot menu β Copy Config
- Show QR Code: Open three-dot menu β Show QR Code
- Delete Config: Open three-dot menu β Delete
- Delete Dead Configs: After pinging, tap delete icon to remove failed servers
Backup:
- Settings β Data β Backup Configs
- File saved to:
Downloads/zedsecure_backup_YYYYMMDD_HHMMSS.json
Restore:
- Settings β Data β Restore Configs
- Select backup file from Downloads
vmess://base64-encoded-json-config
vless://uuid@host:port?encryption=none&security=tls&type=ws&path=/path#remark
trojan://password@host:port?security=tls&type=tcp#remark
ss://base64(method:password)@host:port#remark
- TCP
- WebSocket (ws)
- HTTP/2 (h2)
- gRPC
- QUIC
- XHTTP (New!)
- HTTPUpgrade (New!)
zedsecure/
βββ android/
β βββ app/
β β βββ src/main/
β β β βββ kotlin/com/zedsecure/vpn/
β β β β βββ MainActivity.kt
β β β β βββ PingService.kt # Native ping
β β β β βββ PingMethodChannel.kt
β β β β βββ AppListMethodChannel.kt
β β β β βββ SettingsMethodChannel.kt
β β β βββ AndroidManifest.xml
β β β βββ res/ # App resources
β β βββ build.gradle.kts # App-level Gradle
β βββ settings.gradle.kts # Project Gradle
βββ lib/
β βββ main.dart # App entry point
β βββ models/
β β βββ v2ray_config.dart # Config model
β β βββ subscription.dart # Subscription model
β βββ screens/
β β βββ home_screen.dart # Connection screen
β β βββ servers_screen.dart # Server list
β β βββ subscriptions_screen.dart # Subscription management
β β βββ settings_screen.dart # Settings
β βββ services/
β β βββ v2ray_service.dart # VPN logic
β β βββ theme_service.dart # Theme management
β βββ theme/
β βββ app_theme.dart # UI theme
βββ local_packages/
β βββ flutter_v2ray_client/ # Xray integration (local)
βββ pubspec.yaml # Flutter dependencies
βββ key.properties.example # Signing template
βββ README.md
- β
All configs encrypted with
SharedPreferences
- β Keystore with 4096-bit RSA key
- β No user data collection
- β No telemetry or analytics
- β Local storage only
Permission | Usage |
---|---|
INTERNET |
VPN connection |
FOREGROUND_SERVICE |
VPN service |
POST_NOTIFICATIONS |
Connection status |
WRITE_EXTERNAL_STORAGE |
Backup files |
CAMERA |
QR code scanner |
- Full source code available
- Audit the code yourself
- No hidden backdoors
- Community-driven
- β¨ Light/Dark Mode: Toggle between themes in Settings
- β‘ Concurrent Ping: Test all servers simultaneously (much faster!)
- πΎ Backup & Restore: Export/import your configs as JSON
- π· QR Code Scanner: Scan configs with camera
- π¨ Improved UI: Better config cards, click-to-select, 2-line names
- π― Individual Ping Button: Test specific servers on demand
- ποΈ Delete Dead Configs: Remove failed servers with one tap
- π Three-Dot Menu: Copy config, show QR, delete per config
- π§ Better About Section: Developer info with GitHub link
- π¦ Updated Dependencies: Flutter 3.35.5, Dart 3.9.2, Kotlin 2.2.20
- π Fixed config name display (now shows 2 lines)
- π Fixed UI overflow in header icons
- π Fixed card size after ping
- π Removed select button, click card to select
- π Fixed notification persistence issue
- π XHTTP Transport (new in Xray 1.25.3)
- π HTTPUpgrade Transport (new in Xray 1.25.3)
flutter: sdk
fluent_ui: ^4.11.5 # Modern UI framework
glassmorphism: ^3.0.0 # Glass effects
provider: ^6.1.5 # State management
shared_preferences: ^2.2.2 # Local storage
connectivity_plus: ^5.0.2 # Network monitoring
http: ^1.4.0 # HTTP requests
path_provider: ^2.1.1 # File paths
mobile_scanner: ^7.1.2 # QR scanner
qr_flutter: ^4.1.0 # QR generator
permission_handler: ^11.4.0 # Permissions
flutter_lints: ^5.0.0
flutter_launcher_icons: ^0.14.3
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request
- Follow Dart/Flutter style guide
- Write clear commit messages
- Add comments for complex logic
- Test your changes on real devices
- Update README if adding features
- π Bug fixes
- β¨ New features
- π Documentation improvements
- π Translations
- π¨ UI/UX enhancements
- β‘ Performance optimizations
This project is licensed under the GNU General Public License v3.0 (GPL-3.0) with additional terms.
- βοΈ Use for personal/educational purposes
- βοΈ Modify and distribute
- βοΈ Fork and create derivatives
- βοΈ Study the code
- β Credit CluvexStudio in your app and repository
- β Keep it open source (GPL-3.0)
- β Link to this repository: https://github.com/CluvexStudio/ZedSecure
- β Share modifications under GPL-3.0
- β Preserve license notices
- β Remove credits or claim as your own
- β Use commercially without permission
- β Close source or make proprietary
- β Violate user privacy
- β Use for illegal activities
Requires explicit written permission from CluvexStudio. Contact via GitHub Issues.
When forking/modifying:
Based on Zed-Secure VPN by CluvexStudio
https://github.com/CluvexStudio/ZedSecure
Licensed under GPL-3.0
See the LICENSE file for full legal terms.
- flutter_v2ray - V2Ray integration
- Xray-core - High-performance VPN core
- Fluent UI - Microsoft Fluent Design for Flutter
- mobile_scanner - QR code scanning
This application is intended for educational and research purposes only. Users are solely responsible for:
- Complying with local laws and regulations
- Respecting Terms of Service of networks
- Ethical and legal use of the software
The developers are not responsible for misuse, illegal activities, or damages arising from the use of this application.
- π Bug Reports: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π§ Contact: Open an issue on GitHub
- β Star this repository if you find it helpful!
- π΄ Fork and contribute
- π’ Share with others who need privacy tools
- π¬ Spread the word about open-source privacy
Made with β€οΈ for digital freedom
If you find this project useful, please consider giving it a β!
Report Bug β’ Request Feature β’ Contribute