VMessAEAD client and JSON import
OneXray supports VMess outbound configurations and the VMessAEAD share-link format. A link beginning with vmess:// is not sufficient to identify its format: the current URI and the old Base64-encoded QR-code JSON use the same scheme.
Supported format
Use a VMessAEAD URI following the Xray share-link specification, or native Xray outbound JSON. The legacy vmess://Base64(JSON) VMessQrCode format is not supported. Wrapping it in a subscription does not turn it into the current URI format.
If your source only provides legacy data, ask for VMessAEAD or a native Xray JSON export with the complete settings. Do not rename a VMess URI to VLESS; that changes neither the server protocol nor its credentials.
Prepare and import
Obtain the address, port, UUID, VMess security setting, transport and any TLS parameters. For WebSocket, confirm both Host and path; copy the provider’s TLS server name separately.
- Open Servers → Add server and import the supported link or node file.
- For manual JSON, use an object containing exactly one element in
outbounds. - Check the node name, VMess protocol and transport labels after import.
- Select the server on Connect, complete platform prerequisites and test your intended destination.
This existing WebSocket/TLS example uses placeholders. Replace them before saving; it is not a public working node.
{
"outbounds": [
{
"tag": "My VMess server",
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "server.example.com",
"port": 443,
"users": [
{
"id": "00000000-0000-4000-8000-000000000001",
"security": "auto"
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"wsSettings": {
"path": "/proxy",
"host": "server.example.com"
},
"tlsSettings": {
"serverName": "server.example.com"
}
}
}
]
}The outbound JSON contract documents the envelope. Routing, DNS and local inbounds are not installed by ordinary server import; use Raw JSON for a complete configuration.
Troubleshooting
If no node is imported, first distinguish the URI format from an invalid server setting. If the node imports but cannot connect, compare the UUID, transport path/Host, security and TLS settings with the provider. Successful parsing does not test that remote server.
Use compatibility and troubleshooting before changing fields. Keep credentials private.