代理協定 · 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