Docs Config VMess

VMess

The classic protocol in the V2Ray ecosystem — combined with TLS + WebSocket/gRPC transport, it can also run through a CDN, and remains a primary protocol for many providers.

Example Config

config.yaml YAML
proxies:
  - name: "vmess"
    type: vmess
    server: server
    port: 443
    udp: true
    uuid: uuid
    alterId: 0
    cipher: auto
    packet-encoding: packetaddr

    tls: true
    servername: example.com
    alpn:
      - h2
      - http/1.1
    client-fingerprint: chrome

    network: tcp

Field Reference

uuidRequired

The VMess user ID.

alterIdRequired

Enables the now-outdated legacy protocol mode when non-zero; new nodes should generally set this to 0.

cipherRequired

The encryption method — supports auto/none/zero/aes-128-gcm/chacha20-poly1305; generally just match whatever your provider gives you.

packet-encodingOptional

The UDP packet encoding method — leave blank for raw encoding; packetaddr requires v2ray 5+ support, and xudp requires xray support.

global-padding / authenticated-lengthOptional

Two protocol-level parameters: global-padding, when enabled, randomly wastes some traffic (forced on by default in v2ray, off by default in Mihomo); authenticated-length enables length-field encryption. Generally no need to change these.

networkOptional

The transport layer type — supports ws/http/h2/grpc/mkcp, defaulting to tcp if not set; see Transport Layer Configuration for details. See TLS fields for TLS-related settings.