encryption property

String get encryption

Xray VLESS Encryption value for this user.

Modern Xray supports post-quantum VLESS Encryption values such as mlkem768x25519plus.native.1rtt.... That value is the client half of a key pair generated with xray vlessenc and must match the server-side decryption setting. It is not derivable from UUID, host, path, XHTTP mode, or any other normal share-link field.

This is why a bare vless://...?type=xhttp&security=none link can import cleanly but still fail on-device with only SOCKS CONNECT success and no HTTP bytes. If a subscription or JSON config provides encryption, pass it through exactly. If the URL omits it, the only safe default is Xray's legacy "none".

Implementation

String get encryption => uri.queryParameters["encryption"] ?? "none";