🚀 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
HysteriaURLparser — parse Hysteria share links into full V2Ray/Xray outbound config viaV2ray.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
allowInsecurenot being applied correctly when parsing XHTTP / SplitHTTP transport links - TLS settings now honor the
allowInsecureflag 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:
allowInsecureis 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 getand 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
- Update to
📝 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.