# VMessAEAD client and JSON import

Source: https://onexray.com/docs/protocols/vmess/
Description: Import VMessAEAD links or native VMess outbound JSON into OneXray. Preserve WebSocket/TLS settings and distinguish legacy VMess QR-code data.


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](https://github.com/XTLS/Xray-core/discussions/716), 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.

1. Open Servers → Add server and import the supported link or node file.
2. For manual JSON, use an object containing exactly one element in `outbounds`.
3. Check the node name, VMess protocol and transport labels after import.
4. 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.

[JSON: outbound-vmess-ws.json](https://onexray.com/examples/outbound-vmess-ws.json)

```json
{
  "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](https://onexray.com/docs/configuration/outbound/) documents the envelope. Routing, DNS and local inbounds are not installed by ordinary server import; use [Raw JSON](https://onexray.com/docs/configuration/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](https://onexray.com/docs/configuration/compatibility/) and [troubleshooting](https://onexray.com/docs/troubleshooting/) before changing fields. Keep credentials private.

[Install OneXray](https://onexray.com/docs/install/) · [VMess outbound reference](https://xtls.github.io/config/outbounds/vmess.html)


