https://www.youtube.com/shorts/DU3mklTjS2c [demo video]
A secure, multi-protocol VPN client application built with Flutter
Matreshka VPN is a comprehensive VPN client application designed to provide secure and private internet access through multiple VPN protocols. The app offers a user-friendly interface with advanced security features, allowing users to protect their online privacy and bypass geo-restrictions.
Named after the iconic Russian Matryoshka dolls, the app represents layers of protection wrapping your digital identity. With support for multiple VPN protocols, users can choose the best option for their needs in terms of security, speed, and reliability.
- Multi-Protocol Support: Connect using OpenVPN, WireGuard, or VLESS protocols
- Real-time Status Monitoring: Track connection status and IP information
- Automatic Server Selection: "Try Your Luck" feature for optimal server selection
- Geographic Server Locations: Multiple server locations worldwide
- Speed Testing: Monitor connection speeds and server performance
- Dark/Light Themes: Adaptive theming based on system preferences
- Intuitive UI: Clean, user-friendly interface with easy navigation
- Secure Connection Management: One-tap connect/disconnect functionality
- IP Address Protection: Hide your real IP and appear from different locations
- Performance Optimization: Efficient resource usage and battery conservation
Matreshka VPN supports three industry-standard VPN protocols:
- OpenVPN: Robust and secure protocol with strong encryption
- WireGuard: Modern, fast, and lightweight protocol
- VLESS: Advanced protocol optimized for performance and security
Each protocol offers unique advantages in terms of speed, security, and compatibility with various networks.
- Make sure you have Flutter SDK installed on your system
- Clone the repository:
git clone https://github.com/yourusername/matreshka_vpn.git cd matreshka_vpn - Install dependencies:
flutter pub get
- Build the application:
flutter build apk # For Android flutter build ios # For iOS
Note: Platform-specific VPN permissions and configurations may be required for the application to function properly on mobile devices.
- Launch the application
- Navigate to the Defense tab
- Select your preferred VPN protocol (OpenVPN, WireGuard, or VLESS)
- Tap the connect button to establish a VPN connection
- Monitor your connection status and IP information
- Use the "Try Your Luck" feature for automatic server selection
- Access geo-restricted content securely
The app provides real-time information about your connection status, IP address, and server location.
The application follows a clean architecture pattern with separation of concerns:
- Presentation Layer: UI components and state management using Provider pattern
- Domain Layer: Business logic and entities
- Data Layer: Repository implementations and data sources
The app utilizes the following technologies and packages:
- Go Router: For navigation and routing
- Provider: For state management
- Adaptive Theme: For light/dark theme support
- OpenVPN Flutter: For OpenVPN protocol support
- WireGuard Flutter: For WireGuard protocol support
- Flutter V2Ray Plus: For VLESS protocol support
- Network Info Plus: For network information
- VPN Info: For VPN connection details
We welcome contributions to improve Matreshka VPN! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the project's coding standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.









