Skip to main content

VMESS

Protocol standard

Sample

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.google.com, vmess-aead=true

Format

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

Params

NameValueMandatoryNote
proxy name-true
host-trueSupport domain and ip format
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: /
usable only when ws set to true
ws-headers-falseValue format: Header-1:value-1|Header-2:value-2
Key and value is divided by colon
Entries are divided by vertical bar
Usable only when ws set to true
skip-cert-verifytrue
false
falseUsable if tls is true
set to true if proxy doesn't have a valid TLS certificate
sni-falseUsable if tls is true
definition is unnecessary when the SNI value is the same as the host value
vmess-aeadtrue
false
falseDefault value: true
caution

vmess-aead is still an unconfirmed standard of Surge profile format, format may be changed in the future