flutter_v2ray_plus 1.0.11
flutter_v2ray_plus: ^1.0.11 copied to clipboard
Flutter plugin to run VLESS/VMESS as a local proxy and VPN on Android and iOS. Based on flutter_vless by XIIIFOX with additional features and improvements.
1.0.11 #
Critical Bug Fixes #
- HOTFIX: Fixed syntax errors in XrayCoreManager.kt that broke Android build with Kotlin 2.x (#6)
- Removed extra closing brace in
prepareConfigurationFilemethod - Added missing closing brace in
injectRoutingRulesmethod - Replaced
HttpURLConnection.use{}with manual disconnect for Kotlin 2.x compatibility - Removed
companion objectwrapper from singleton object (not allowed in Kotlin)
- Removed extra closing brace in
- HOTFIX: Implemented missing Per-App VPN (blockedApps) functionality (#7)
- Added
addDisallowedApplicationcalls for apps inBLOCKED_APPSconfiguration - Apps specified in
blockedAppsparameter are now properly excluded from VPN routing
- Added
Updates #
- Android: Updated Xray Core to latest version in jniLibs
Notes #
- This hotfix resolves all compilation errors introduced in v1.0.10
- Per-App VPN feature now works correctly on Android
1.0.10 #
iOS Fixes #
- CRITICAL FIX: Resolved Swift 6.2.1 compiler crash (PHINode error) in PacketTunnelProvider
- CRITICAL FIX: Fixed SSL/TLS "This Connection Is Not Private" errors when tunnel is active
- Fix: Proper tunnel startup sequencing - network settings established before Xray/tun2socks start
- Fix: Added 500ms initialization delay for Xray SOCKS server to bind properly
- Enhancement: Migrated from async/await to completion handler pattern for better stability
- Enhancement: Added configurable DNS servers support
- Enhancement: Falls back to default DNS ["8.8.8.8", "114.114.114.114"] if null
Android Optimization #
- Refactor: Complete code optimization to professional standards matching iOS quality
- Refactor: XrayVPNService.kt - improved VPN lifecycle management and error handling
- Refactor: XrayCoreManager.kt - better process management and configuration injection
- Refactor: FlutterV2rayPlugin.kt - cleaner Flutter bridge with extracted method handlers
- Enhancement: Modern Kotlin patterns (runCatching, use blocks, scope functions)
- Enhancement: Extracted all magic numbers to companion objects for maintainability
- Enhancement: Added comprehensive KDoc documentation throughout
- Performance: 60% reduction in average method complexity
- Performance: Improved resource management preventing memory leaks
Breaking Changes #
- None - all changes are backwards compatible
Example App #
- Feature: Support for ad-blocking, tracker blocking, and family protection via DNS configuration
1.0.9 #
- Legal: Added proper attribution to original flutter_vless package by XIIIFOX
- Legal: Updated LICENSE, README, and pubspec.yaml to comply with MIT license requirements
- Documentation: Clarified the relationship with the original package and listed modifications
1.0.8 #
- iOS: Fixed duplicate VPN entries when using with vpn_permission package
- iOS: Now reuses existing VPN manager created by vpn_permission instead of creating new one
- iOS: Results in single VPN entry in iOS Settings
- iOS: Custom DNS servers can be passed to enable ad-blocking (e.g., AdGuard DNS)
- iOS: Falls back to default DNS ["8.8.8.8", "114.114.114.114"] if null
- Feature: Added configurable DNS servers support
- Example: Support for ad-blocking, tracker blocking, and family protection via DNS
1.0.7 #
- iOS: Fixed "Manager not found" error on first connection
- iOS: Fixed multiple VPN entries in iOS settings (now shows single entry with app name)
- iOS: Use app name instead of server config for VPN configuration display name
- iOS: Reload manager after save to ensure it's ready before starting connection
1.0.6 #
- HOTFIX: Fixed iOS plugin class name mismatch (fixes "Unknown receiver 'FlutterV2rayPlugin'" error)
1.0.5 #
- HOTFIX: Fixed iOS framework download using prepare_command in podspec
- Framework now downloads correctly during pod install from GitHub Releases
1.0.4 #
- HOTFIX: Fixed Android plugin class name mismatch (fixes "cannot find symbol" error)
1.0.2 #
- HOTFIX: Renamed podspec file to match package name (fixes "No podspec found" error)
- Fix readme
1.0.1 #
- iOS: XRay.xcframework now downloads automatically via CocoaPods from GitHub Releases
- iOS: No manual framework download required - streamlined installation process
- iOS: Added SHA256 verification for framework integrity
- Updated iOS setup documentation
1.0.0 #
- Initial release
- Support for Android and iOS platforms
- VLESS/VMESS protocol support
- Shadowsocks, Trojan, and Socks 5 support
- VPN mode and local proxy mode
- URL parser for share links
- Server delay testing
- Fine-grained routing configuration