Skip to content

Releases: amir-zr/flutter_v2ray_client

v3.4.0

Choose a tag to compare

@amir-zr amir-zr released this 21 Jun 19:36

🚀 Flutter V2Ray Client v3.4.0

We're pleased to release Flutter V2Ray Client v3.4.0, a feature-focused update that adds Hysteria share-link parsing at the Dart layer and fixes allowInsecure handling for XHTTP transports. If you're already on 3.3.0, this is a straightforward bump: same embedded Xray v26.6.1 core and Android VPN/TUN stack, with new URL parser coverage and a transport bug fix.


🆕 Hysteria URL Parser

  • New HysteriaURL parser — parse Hysteria share links into full V2Ray/Xray outbound config via V2ray.parseFromURL()
  • Supported schemes: hysteria://, hysteria2://, hy://, hy2://
  • Protocol versions: Hysteria v1 and v2 (auto-detected from scheme)
  • Query parameters: sni, security, allowInsecure, fm (FinalMask), masquerade, udpIdleTimeout, and more
  • Drop-in usage — same flow as VMess, VLess, Trojan, and Shadowsocks:
V2RayURL parser = V2ray.parseFromURL('hysteria2://your-share-link');
await v2ray.startV2Ray(
  remark: parser.remark,
  config: parser.getFullConfiguration(),
);

🐛 XHTTP allowInsecure Fix

  • Fixed allowInsecure not being applied correctly when parsing XHTTP / SplitHTTP transport links
  • TLS settings now honor the allowInsecure flag from share-link query parameters, consistent with other transports

🛠️ What's in this release

  • Hysteria share links: end-to-end parsing from URL → Xray outbound JSON, including TLS, auth, FinalMask, and masquerade options
  • XHTTP reliability: allowInsecure is now correctly propagated into stream/TLS settings
  • No core or native changes — this release is Dart-only; no new AAR or Gradle rebuild required beyond a normal dependency refresh

🔄 Compatibility Notes

  • Requirements (unchanged): Android API 21+, Flutter 3.16+; still compatible with using OpenVPN in the same project when configured as in 3.1.0
  • Migration from 3.3.0
    • Update to flutter_v2ray_client: ^3.4.0
    • Run flutter pub get and rebuild your app
    • If you parse Hysteria links, switch to V2ray.parseFromURL() — no manual config assembly needed
    • If you use XHTTP links with allowInsecure=1, re-test connect after upgrade to confirm TLS behavior matches your server

📝 Testing Recommendations

  • Parse and connect with Hysteria v1 (hysteria://, hy://) and Hysteria v2 (hysteria2://, hy2://) share links
  • Verify remark, SNI, auth, and optional FinalMask / masquerade params round-trip correctly
  • Smoke-test XHTTP / SplitHTTP profiles that rely on allowInsecure
  • Confirm existing VMess, VLess, Trojan, and Shadowsocks flows are unaffected

📦 Install

dependencies:
  flutter_v2ray_client: ^3.4.0

🙏 Acknowledgments

Thank you to everyone who uses and reports on Flutter V2Ray Client — your feedback drives these improvements.

Report issues ·
View documentation ·
Changelog

v3.3.0

Choose a tag to compare

@amir-zr amir-zr released this 17 Jun 11:05

🚀 Flutter V2Ray Client v3.3.0

We’re pleased to release Flutter V2Ray Client v3.3.0, a focused update that moves the embedded Xray core to v26.6.1. If you’re already on 3.2.0, this is the next step: same plugin API and the same Android VPN/TUN stack, with an updated libv2ray and V2rayCoreManager aligned to the latest core line.


🔄 Xray Core v26.6.1

  • Upgraded from v26.4.17 to v26.6.1 (embedded core)
  • Android ships an updated libv2ray (AAR) and refreshed V2rayCoreManager integration
  • Picks up upstream fixes and refinements on the 26.x line since 26.4.17

🛠️ What’s in this release

  • Core maintenance: latest Xray 26.6.1 for improved stability and compatibility on the current feature set (TUN, transports, obfuscation, pinning, REALITY, XDNS — introduced in 3.2.0)
  • Native stack: rebuilt Android artifacts so Gradle and the app bundle use the new core
  • No Dart API changes intended for typical integrations — bump the dependency and rebuild

🔄 Compatibility Notes

  • Requirements (unchanged): Android API 21+, Flutter 3.16+; still compatible with using OpenVPN in the same project when configured as in 3.1.0
  • Migration from 3.2.0
    • Update to flutter_v2ray_client: ^3.3.0
    • Run flutter clean, refresh dependencies, and do a full Android rebuild so the new AAR is picked up
    • Re-test VPN and proxy-only flows, reconnect, and WiFi ↔ cellular handoff if those matter for your app

📝 Testing Recommendations

  • Confirm connect / disconnect and status events after upgrade
  • Exercise VPN (TUN) and proxy-only modes on your target devices
  • Run a long session and a quick background → foreground check
  • If you use Hysteria2, UDPhop, or obfuscation configs from 3.2.0, smoke-test with your production server profiles

📦 Install

dependencies:
  flutter_v2ray_client: ^3.3.0

🙏 Acknowledgments

Thank you to everyone who uses and reports on Flutter V2Ray Client — your feedback drives these core updates.

Report issues ·
View documentation ·
Changelog

v3.2.0

Choose a tag to compare

@amir-zr amir-zr released this 26 Apr 11:09

🚀 Flutter V2Ray Client v3.2.0

We’re happy to share Flutter V2Ray Client v3.2.0, built around a major Xray v26.4.17 upgrade. This release brings native TUN-based Android VPN, new transport and obfuscation options, and stronger TLS/REALITY and DNS behavior on mobile—while trimming memory use and improving Android stability in real-world and background sessions.


🔄 Xray Core v26.4.17

  • Upgraded from v25.12.2 to v26.4.17 (embedded core)
  • Android ships an updated libv2ray and refreshed V2rayCoreManager to match the new APIs and features

🏗️ Architecture (Android VPN / TUN)

  • TUN inbound via VpnService: system-wide traffic over a TUN interface
  • Process-based routing: route traffic by app/process where Android allows it, for more control in VPN use cases

🧩 New Protocols & Obfuscation

  • Hysteria2: high-throughput UDP-based transport, tuned for shaky mobile networks
  • UDPhop: dynamic UDP port hopping under blocking or throttling
  • Salamander obfuscation layer: extra shaping against mobile DPI
  • FinalMask–style obfuscation: custom HTTP/TCP behavior, TCP fragmentation, UDP noise, and randomized traffic patterns to resist fingerprinting and DPI

🔐 Security, DNS & Reliability

  • Replaces the insecure TLS path with certificate pinning using pinnedPeerCertSha256
  • REALITY: better handling of invalid or intercepted certificates and stronger MITM protection on untrusted and mobile links
  • XDNS and routing improvements for mobile, aligned with TUN, with cleaner behavior on WiFi ↔ mobile data switches

📉 Performance & Android TUN

  • Lower memory (geodata handling) and fewer Android crash scenarios
  • Stabler TUN through the VPN Service stack: less packet loss on high-latency paths, better under background limits, and fewer stalls and races in typical mobile conditions

🛠️ Plugin Integration

  • Android: new libv2ray (AAR) and V2rayCoreManager wired to the features above; rebuild the app so native code and Gradle pick up the update

🔄 Compatibility Notes

  • Requirements (unchanged from recent releases): Android API 21+, Flutter 3.16+; still reasonable to use alongside OpenVPN when your project is set up for that (as in 3.1.0)
  • Migration from 3.1.0
    • No API contract break is implied for typical Dart usage; the big shift is the new core and native stack
    • Clean rebuild after flutter clean and dependency refresh
    • Re-test VPN/Proxy flows and any Xray config that used deprecated options (e.g. old insecure TLS) in favor of pinning

📝 Testing Recommendations

  • VPN mode and TUN stability: cold start, reconnect, WiFi ↔ cellular handoff
  • Hysteria2 / UDPhop / obfuscation with your real server and blocking profiles
  • Long sessions and background to confirm fewer stalls and acceptable memory use
  • OpenVPN in the same app (if you rely on 3.1.0’s compatibility) after upgrading

🙏 Acknowledgments

Thanks to everyone who uses and reports on Flutter V2Ray Client—each release is stronger because of your feedback.

Report issues ·
View documentation ·
Changelog

v3.1.0

Choose a tag to compare

@amir-zr amir-zr released this 03 Dec 19:45

🚀 Flutter V2Ray Client v3.1.0

We're excited to announce Flutter V2Ray Client v3.1.0, featuring an essential Xray core update and improved compatibility. This maintenance release focuses on security, performance, and better integration with other networking packages.


🔄 Xray Core v25.12.2

  • Upgraded from v25.10.15 to v25.12.2
  • Includes latest security patches and performance improvements
  • Enhanced stability and reliability

🛠️ Key Updates

  • Core Update

    • Updated Xray core to v25.12.2 for Android
    • Improved protocol handling and security
    • Optimized performance for better connection stability
  • Compatibility Improvements

    • Resolved dependency conflicts with openvpn_flutter
    • Can now be used alongside OpenVPN in the same application
    • Updated build configurations for better cross-package compatibility
  • Build System

    • Updated build configurations for Android
    • Improved dependency management
    • Better handling of native dependencies

🔄 Compatibility Notes

  • Requirements

    • Android API level 21+ (Android 5.0+)
    • Flutter 3.16.0 or higher
    • Compatible with openvpn_flutter in the same project
  • Migration from v3.0.0

    • No breaking changes
    • Rebuild your project to ensure all dependencies are properly updated
    • Test VPN functionality in your specific use case

📝 Testing Recommendations

  • Verify VPN connection stability
  • Test alongside OpenVPN if used in the same application
  • Check for any dependency conflicts in your project
  • Validate performance in different network conditions

🙏 Acknowledgments

Thank you to all contributors and users for your support and feedback. Your input helps us improve Flutter V2Ray Client with each release.

Report Issues |
View Documentation |
Changelog

v3.0.0

Choose a tag to compare

@amir-zr amir-zr released this 30 Oct 00:47

🚀 Flutter V2Ray Client v3.0.0

We're thrilled to announce Flutter V2Ray Client v3.0.0, packed with major stability improvements, critical bug fixes, and enhanced user experience. This release focuses on reliability, performance, and better error handling.


🔄 Xray Core v25.10.15

  • Updated to the latest stable version with security patches
  • Includes all upstream bug fixes and performance improvements
  • Ensures compatibility with the latest V2Ray protocols

🛠️ Major Improvements

  • Build System Modernization

    • Updated to Gradle 8.14 and Kotlin 2.1.0
    • Android Gradle Plugin upgraded to 8.13.0
    • Compiled SDK version bumped to 35
    • Full compatibility with the latest Flutter versions
  • Core Stability Enhancements

    • Complete null safety implementation across the codebase
    • Robust error handling for service lifecycle management
    • Improved service reliability with proper cleanup procedures
  • Connection Management

    • Fixed race conditions in VPN permission handling
    • Reliable mode switching between VPN and proxy
    • Enhanced connection stability with proper error recovery

🐛 Key Fixes

  • Critical Bug Fixes

    • Fixed multiple NullPointerException scenarios
    • Resolved service crashes during permission flows
    • Addressed race conditions in VPN permission requests
    • Fixed notification-related crashes when permissions are denied
  • Service Reliability

    • Added comprehensive null checks for Intents and command extras
    • Implemented silent VPN mode when notification permissions are denied
    • Prevented service restart loops with START_NOT_STICKY for error cases
  • Performance Optimizations

    • Improved broadcast receiver registration with proper error handling
    • Optimized service cleanup procedures
    • Reduced memory leaks with better activity reference management

✨ New Features

  • Enhanced Logging System

    • New V2Ray log viewer with filtering capabilities
    • In-app log management (view and clear logs)
    • Improved debugging information for troubleshooting
  • User Experience

    • Better error messages and status reporting
    • Improved notification handling
    • More reliable connection state management

🔄 Compatibility Notes

  • Minimum Requirements

    • Android API level 21+ (Android 5.0+)
    • Latest Flutter stable version recommended
    • Requires Android Gradle Plugin 8.1.0 or higher
  • Migration Guide

    • Update your project's Gradle wrapper to 8.14
    • Ensure all native dependencies are rebuilt
    • Test VPN and proxy functionality thoroughly
    • Verify notification permissions handling

📝 Testing Recommendations

  • Test VPN and proxy mode switching
  • Verify log viewer functionality
  • Check behavior with notification permissions denied
  • Test service stability across configuration changes
  • Validate connection reliability in various network conditions

🙏 Acknowledgments

Special thanks to all contributors and users who reported issues and helped improve this release. Your feedback is invaluable in making Flutter V2Ray Client more stable and reliable.

Report Issues |
View Documentation |
Changelog

v2.0.0

Choose a tag to compare

@amir-zr amir-zr released this 14 Oct 20:53

🚀 Flutter V2Ray Client v2.0.0

We're excited to present Flutter V2Ray Client v2.0.0 — featuring enhanced security, build stability, and performance optimizations for a more reliable proxy experience.


🔒 What's New

  • App-Specific Broadcast Isolation — Implemented secure broadcast handling to prevent cross-application interference in V2Ray connections.
  • Optimized Server Delay Checks — Improved connection speed testing with parallel execution for faster server selection.
  • Build System Upgrades — Pinned NDK version to 27.0.12077973 for consistent and reproducible builds.

🛠️ Improvements & Fixes

  • Legacy JNI Support — Enabled legacy JNI library packaging to ensure compatibility with a wider range of Android devices.
  • Build Reliability — Fixed potential issues with native library loading across different Android versions.
  • Performance Enhancements — Reduced connection initialization time with optimized delay checking.

🔎 Notes

  • Migration Guide:

    • Update your app to use the latest NDK version 27.0.12077973
    • Rebuild native dependencies if using custom builds
    • Test broadcast receivers as they now use app-specific isolation
  • Testing:

    • Verify connection stability across different network conditions
    • Test app-specific broadcast handling in your implementation
    • Confirm parallel delay checking works as expected

Thanks for using Flutter V2Ray Client! We appreciate your support and feedback.
Report Issues | View Documentation

v1.1.0

Choose a tag to compare

@amir-zr amir-zr released this 20 Sep 23:38

🚀 Flutter V2Ray Client v1.1.0

We’re thrilled to announce Flutter V2Ray Client v1.1.0 — introducing enhanced VPN functionality and improved Android compatibility for a more robust proxy experience.


🌟 What’s New

  • Implemented Android VPN Protector — Introduced socket protection for VPN mode, preventing connection loops and ensuring seamless proxy routing on Android devices.
  • Android-Only Build Tags — Protector code is now isolated to Android builds, allowing cross-platform development without unix syscall errors.
  • Enhanced Socket Handling — Implemented outbound socket management with IP failover and IPv4/IPv6 preference support.

🛠️ Improvements & Fixes

  • Updated Dependencies — Included golang.org/x/sys for Android unix syscalls, ensuring reliable protector operations.
  • Java Integration — Streamlined V2rayCoreManager to register protector and configure server settings before core startup.

🔎 Notes

  • Build Requirements — Rebuild the libv2ray.aar using gomobile bind to include new protector APIs.
  • Testing — Verify protector invocation in VPN mode logs and ensure no connection loops occur.
  • Backward Compatibility — Changes are additive; existing CoreController API remains unchanged.

Thanks for using Flutter V2Ray Client! Have feedback or issues? Open one here:
Flutter V2Ray Client Issues

v1.0.0

Choose a tag to compare

@amir-zr amir-zr released this 18 Sep 23:06

🚀 flutter_v2ray_client v1.0.0

We’re excited to release flutter_v2ray_client v1.0.0 — bringing comprehensive V2Ray/Xray client functionality, robust protocol parsing, and a modern Flutter API for secure VPN and proxy connections.


🌟 What’s New

  • Initial Release: Comprehensive Flutter plugin for V2Ray/Xray client functionality
  • VPN & Proxy Modes: Support for both VPN tunneling and proxy-only connections on Android
  • Server Delay Testing: Built-in functionality to measure outbound and connected server delays
  • URL Parsing: Robust parsers for VMess, VLess, Trojan, Socks, and ShadowSocks protocols
  • Configuration Editing: Flexible API to modify V2Ray inbound/outbound settings, DNS, and routing
  • Live Status Monitoring: Real-time updates for connection state, upload/download speeds, traffic data, and duration
  • Socket Protection: Built-in Android VPN socket protection for secure tunneling
  • App Exclusion: Ability to exclude specific Android apps from VPN traffic (blockedApps)
  • LAN Traffic Bypass: Support for bypassing local network traffic with custom subnet lists
  • Notification Integration: Customizable VPN notifications with icon resources
  • Permission Handling: Automatic Android VPN permission requests
  • Event-Based Updates: Callback system for status changes and connection events
  • Modernized API: Clean, documented API with comprehensive Dartdoc comments
  • Example Application: Complete Flutter app demonstrating all features and usage patterns
  • Android Compatibility: Full support for Android 16 KB page size (required for Google Play)
  • Cross-Platform Foundation: Platform interface architecture ready for iOS/Windows/Linux/macOS expansion

🛠️ Improvements & Fixes

  • Flutter Compatibility: Upgraded to Flutter 3.16.0+ and Dart 3.1.0+
  • Code Quality: Improved lint compliance with flutter_lints and comprehensive documentation
  • Build System: Gradle 7.4 integration with Android NDK 26.3 support

🔎 Notes

  • Android is the primary supported platform; other platforms marked as "Coming Soon"
  • Community contributions welcome for accelerating multi-platform development
  • Planned integration with hev-socks5-tunnel for enhanced speed and efficiency
  • Foundation laid for iOS, Windows, Linux, and macOS support (community-driven via donations)
  • Advanced features like traffic routing, filtering, and UI components in development

Thanks for using flutter_v2ray_client! Have feedback or issues? Open one here:
flutter_v2ray_client Issues