VMess 出站欄位
本頁說明 Clash 生態用戶端 proxies 陣列中的 VMess 出站欄位,不代替 VMess 伺服器端文件。用戶端的認證、傳輸層和 TLS 參數必須與伺服器端逐項一致。
最小可解析節點由通用必填欄位和 VMess 必填欄位組成。是否開啟 UDP、TLS 或其他傳輸層,取決於伺服器端實際部署。
name必填- 節點名稱,在同一份設定中不可重複。
type必填- 固定填寫
vmess。 server必填- VMess 伺服器端的網域或 IP 位址。
port必填- 伺服器端監聽連接埠,必須與伺服器端一致。
認證、版本與加密欄位
uuid、alterId 和 cipher 都被目前欄位參考標為必填。它們不是可以互相替代的認證選項。
uuid必填- VMess 使用者 ID,必須使用伺服器端分配的值。
alterId必填- 現代設定通常為
0;非零值會啟用舊協議形態,只能在伺服器端仍要求時使用。 cipher必填- 可用值為
auto、none、zero、aes-128-gcm或chacha20-poly1305。 global-padding可選- 啟用 VMess 全域填充,會增加額外流量,不應脫離伺服器端和相容性要求自行開啟。
authenticated-length可選- 控制長度塊加密,用戶端與伺服器端能力需要匹配。
UDP 與資料包編碼
允許 UDP 透過節點和選擇 UDP 封裝格式是兩件事。只填寫其中一個欄位不能保證 UDP 可用。
udp可選- 通用欄位,預設
false。需要代理 UDP 時設為true,同時確認伺服器端支援。 packet-encoding可選- 留空時使用原始編碼;可選
packetaddr或xudp,必須與伺服器端實作相容。
選擇 VMess 傳輸層
network 選擇承載 VMess 的傳輸層。未填寫或填寫目前核心不識別的值時按 TCP 處理,因此錯誤值可能不會直接發生錯誤,而是表現為連線超時。
| network | 配套欄位 | 適用說明 |
|---|---|---|
| tcp | 無專用 opts | 預設傳輸層 |
| ws | ws-opts | WebSocket 路徑、Host 和 Early Data |
| http | http-opts | HTTP 方法、路徑和請求標頭 |
| h2 | h2-opts | HTTP/2 Host 和路徑 |
| grpc | grpc-opts | gRPC 服務名和連線參數 |
| mkcp | mkcp-opts | 僅 VMess 支援的 mKCP 傳輸 |
| mekya | mekya-opts | 僅 VMess 支援的 Mekya 傳輸 |
TLS、Reality 與憑證驗證
TLS 和 Reality 位於傳輸安全層,不會改變 VMess 的 uuid、alterId 或 cipher。普通 TLS、Reality 以及其他 TLS 載體應按伺服器端選擇其中適用的設定。
tls可選- 設為
true後啟用 TLS;伺服器端未啟用 TLS 時不要填寫。 servername可選- VMess 的 SNI 欄位。通常留空時使用
server;WebSocket 設定存在 Host 請求標頭時,目前實作會優先把該 Host 用作 SNI。 alpn可選- TLS 應用層協議清單,順序和可用值應與伺服器端傳輸層一致。
client-fingerprint可選- uTLS 用戶端指紋,例如
chrome。它不是憑證指紋。 fingerprint可選- 伺服器端憑證的 SHA-256 指紋,與
client-fingerprint含義不同。 reality-opts可選- 非空時啟用 Reality,至少核對
public-key和short-id,並與tls: true、servername一起按伺服器端填寫。 skip-cert-verify謹慎- 跳過 TLS 憑證驗證會降低身分驗證能力,不應作為長期疑難排解方案。
WebSocket 與 TLS 設定示例
下面示例只演示 VMess、WebSocket 與 TLS 的欄位層級。網域、路徑、UUID 和憑證名稱都必須替換為伺服器端提供的值。
proxies:
- name: vmess-ws-tls
type: vmess
server: edge.example.com
port: 443
uuid: 00000000-0000-0000-0000-000000000001
alterId: 0
cipher: auto
udp: true
packet-encoding: xudp
tls: true
servername: origin.example.com
network: ws
ws-opts:
path: /vmess
headers:
Host: origin.example.com常見設定不匹配
VMess 連不上時先逐項對照伺服器端,不要同時改動多個欄位。
- 把
network寫成xhttp或其他不支援的值,目前核心按 TCP 處理後與伺服器端傳輸層不一致。 - 現代伺服器端要求
alterId: 0,用戶端卻沿用舊訂閱中的非零值。 - WebSocket 的
path或Host與反向代理規則不一致。 - 啟用 TLS 後把
servername寫成節點 IP,導致憑證名稱或 Reality 目標不匹配。
