Docs Config VLESS

VLESS

A lighter next-generation protocol that removes VMess's encryption overhead โ€” paired with REALITY/XTLS, it's currently one of the stronger anti-censorship options available.

Example Config

config.yaml YAML
proxies:
  - name: "vless"
    type: vless
    server: server
    port: 443
    udp: true
    uuid: uuid
    flow: xtls-rprx-vision
    packet-encoding: xudp

    tls: true
    servername: example.com
    client-fingerprint: chrome
    reality-opts:
      public-key: xxxx
      short-id: xxxx

    network: tcp

Field Reference

uuidRequired

The VLESS user ID.

flowOptional

The VLESS sub-protocol; currently the only available value is xtls-rprx-vision.

packet-encodingOptional

The UDP packet encoding โ€” leave blank for raw encoding, or choose packetaddr (v2ray 5+) / xudp (xray).

encryptionOptional

The VLESS client's post-quantum encryption config, formatted like mlkem768x25519plus.native/xorpub/random.1rtt/0rtt.... Generate the corresponding keys with mihomo generate vless-x25519 and mihomo generate vless-mlkem768, then fill them in here. Usually you can leave this blank when connecting to a regular provider's node.

networkOptional

The transport layer type โ€” supports ws/http/h2/grpc/xhttp, defaulting to tcp if not set; see Transport Layer Configuration. reality-opts is part of the TLS fields.

The xtls-* flow control in Mihomo is equivalent to xtls-*-udp443 in Xray-core. To block UDP traffic on port 443, use a logical rule like: AND,((NETWORK,UDP),(DST-PORT,443)),REJECT.