代理协议 · Clash文档

VLESS

Clash 生态 VLESS 出站配置参考,以当前 Mihomo 字段为准,区分 UUID、Vision、VLESS Encryption、Reality、UDP 与传输层。

  • uuid
  • encryption
  • Vision
  • Reality
  • UDP
代理协议

VLESS 出站字段

本页说明 Clash 生态客户端 proxies 数组中的 VLESS 出站字段。VLESS 的用户认证、流控、协议加密、传输层和 TLS 安全层是不同层级,不能用一个字段推断其他层级。

最小配置只包含通用必填字段与 uuidflowencryption、TLS、Reality、UDP 和非 TCP 传输层都应按服务端实际配置添加。

name必填
节点名称,在同一份配置中不可重复。
type必填
固定填写 vless,需要使用支持 VLESS 的现代内核。
server必填
VLESS 服务端的域名或 IP 地址。
port必填
服务端监听端口,必须与服务端一致。
uuid必填
VLESS 用户 ID,必须使用服务端分配的值。

Flow 与 XTLS Vision

flow 选择 VLESS 子协议。当前字段参考只列出 xtls-rprx-vision,不填写时表示不使用该流控。

flow可选
当前可用值为 xtls-rprx-vision,必须与服务端用户配置一致。
xtls-rprx-vision流控
Vision 不会自动开启 TLS 或 Reality,也不会替代 uuidencryption

VLESS Encryption

encryption 是 VLESS 协议层的可选加密配置,不是 VMess 的 cipher,也不会自动启用 TLS 或 Reality。当前官方基础示例使用空字符串,表示不启用新的 VLESS Encryption 参数。

启用时应直接使用服务端生成并下发的完整字符串。该字符串包含算法、工作模式、握手模式、可选填充和密钥材料,客户端与服务端必须成对配置。

encryption按服务端
未启用新方案时使用官方示例中的空字符串;服务端启用后必须填写完整匹配值。
mlkem768x25519plus算法
当前文档给出的混合密钥交换方案标识,不应手工改成未记录的算法名。
native / xorpub / random三选一
工作模式只能选择一个,其中 nativexorpub 配合 Vision 时可以使用 Splice。
1rtt / 0rtt二选一
握手模式只能选择一个;0-RTT 复用还取决于服务端 ticket 设置。
vless-x25519生成命令
使用 mihomo generate vless-x25519 生成 X25519 相关材料,不要自行编造。
vless-mlkem768生成命令
使用 mihomo generate vless-mlkem768 生成 ML-KEM-768 相关材料。
padding仅 1-RTT
填充参数只作用于 1-RTT,可省略;首段填充必须为 100% 概率且至少 35 字节。

UDP 与数据包编码

udp 控制是否允许 UDP 通过节点,packet-encoding 控制 VLESS 的 UDP 封装方式。它们属于不同字段。

udp可选
通用字段,默认 false。需要代理 UDP 时设为 true,同时确认服务端支持。
packet-encoding可选
当前 VLESS 实现留空时默认使用 xudp;也可显式填写 packetaddrxudp,必须与服务端实现相容。

TLS、Reality 与证书字段

TLS 与 Reality 位于传输安全层。reality-opts 非空时启用 Reality,并且 tls 必须同时设为 true,否则当前内核会拒绝创建节点。

tlsReality 时必填
设为 true 后启用 TLS;只要填写 reality-opts 就必须同时启用。
servername可选
VLESS 的 SNI 字段。通常留空时使用 server;WebSocket 配置存在 Host 请求头时,当前实现会优先把该 Host 用作 SNI。
alpn可选
TLS 应用层协议列表,必须与选定传输层和服务端一致。
client-fingerprint可选
uTLS 客户端指纹,例如 chrome,不是证书指纹。
fingerprint可选
服务端证书的 SHA-256 指纹,与 client-fingerprint 含义不同。
reality-opts.public-keyReality
服务端 Reality 私钥对应的公钥。
reality-opts.short-idReality
填写服务端允许的 short ID 之一。
reality-opts.support-x25519mlkem768可选
用于声明支持 X25519-MLKEM768 密钥交换,需服务端同时支持。
skip-cert-verify谨慎
跳过证书验证会降低身份验证能力,不应作为长期排障方案。

选择 VLESS 传输层

未填写 network 或填写不支持的值时,当前内核按 TCP 处理。对应的 *-opts 只在选中该 network 时生效。

VLESS 当前传输层取值
network配套字段适用说明
tcp无专用 opts默认传输层,可配合 Vision
wsws-optsWebSocket 路径、Host 和 Early Data
httphttp-optsHTTP 方法、路径和请求头
h2h2-optsHTTP/2 Host 和路径
grpcgrpc-optsgRPC 服务名和连接参数
xhttpxhttp-opts仅 VLESS 支持的 XHTTP 传输
xhttp-opts.path按服务端
XHTTP 请求路径,必须与服务端或反向代理路由一致。
xhttp-opts.host按服务端
XHTTP Host,与 servername 作用不同,按服务端部署填写。
xhttp-opts.mode可选
可用 autostream-onestream-uppacket-up

Reality 与 Vision 配置示例

示例展示 VLESS、Reality 与 Vision 的字段层级。这里保留 encryption 空字符串,表示未启用新的 VLESS Encryption 参数。

  • 不要把 VMess 的 alterIdcipher 写进 VLESS 节点。
  • 服务端启用 VLESS Encryption 时,客户端仍使用空字符串会导致配置不匹配。
  • flow: xtls-rprx-vision、TLS 和 Reality 是三个独立配置点,必须分别核对。
  • XHTTP 的路径、Host、模式或 ALPN 与服务端不一致时,连接可能建立失败。
YAML
proxies:
  - name: vless-reality-vision
    type: vless
    server: 203.0.113.10
    port: 443
    uuid: 00000000-0000-0000-0000-000000000001
    udp: true
    packet-encoding: xudp
    flow: xtls-rprx-vision
    encryption: ""
    tls: true
    servername: cover.example.com
    client-fingerprint: chrome
    reality-opts:
      public-key: your-public-key
      short-id: your-short-id
    network: tcp