Skip to main content

VMESS

VMESS is the primary protocol used by V2Ray for communication between clients and servers. Surfboard supports VMESS with TLS, WebSocket transport, and AEAD security.

Protocol Standard

Example

# VMess proxy configuration using WebSocket transport, TLS encryption, and AEAD
ProxyVMess = vmess, 1.2.3.4, 8000, username=0233d11c-15a4-47d3-ade3-48ffca0ce119, udp-relay=false, ws=true, tls=true, ws-path=/v2, ws-headers=X-Header-1:value|X-Header-2:value, skip-cert-verify=true, sni=www.example.com, vmess-aead=true

Format

{proxy name} = vmess, {server}, {port}, {username}, {udp-relay}, {ws}, {tls}, {ws-path}, {ws-headers}, {skip-cert-verify}, {sni}, {vmess-aead}

Parameters

NameValueMandatoryNote
proxy name-true
server-trueSupports domain and IP formats.
port0 - 65535true
username-trueUUID format.
udp-relaytrue
false
falseDefault value: false.
wstrue
false
falseDefault value: false.
tlstrue
false
falseDefault value: false.
ws-path-falseDefault value: /
Applicable only when ws is set to true.
ws-headers-falseValue format: Header-1:value-1|Header-2:value-2
Key and value are separated by a colon.
Entries are separated by a vertical bar.
Applicable only when ws is set to true.
skip-cert-verifytrue
false
falseApplicable if tls is true.
Set to true if the proxy does not have a valid TLS certificate.
sni-falseApplicable if tls is true.
Definition is unnecessary if the SNI value matches the host value.
vmess-aeadtrue
false
falseDefault value: true.
caution

vmess-aead is an unconfirmed standard in the Surge profile format; this may change in the future.