TLS 欄位
用了 tls 的協議(VMess/VLESS/Trojan/AnyTLS 等)都共享這一套 TLS 設定欄位,包括 SNI、憑證驗證、uTLS 指紋、REALITY 和 ECH。
設定範例
proxies: - name: "tls-example" tls: true sni: example.com fingerprint: xxx alpn: - h2 - http/1.1 skip-cert-verify: true client-fingerprint: chrome reality-opts: public-key: xxxx short-id: xxxx ech-opts: enable: true config: base64_encoded_config
核心欄位
tls可選啟用 TLS,僅對支援 tls 的協議生效;Trojan 協議強制啟用。
sni / servername可選伺服器名稱指示。VMess/VLESS 裡叫 servername,留空則預設用 server 裡的位址。
fingerprint可選憑證指紋,可用 openssl x509 -noout -fingerprint -sha256 -inform pem -in yourcert.pem 取得,也能在瀏覽器「憑證檢視器」的 SHA256 指紋裡找到。填葉憑證指紋時只驗證伺服端憑證是否匹配;填中繼/根憑證指紋時會驗證憑證鏈是否由它簽發。
alpn可選支援的應用層協議協商列表,按優先順序排列;雙方都支援 ALPN 時才會生效,沒有共同協議則連線失敗。
skip-cert-verify可選跳過憑證驗證,測試環境或自簽憑證場景才需要,生產環境不建議開啟。
certificate / private-key可選兩項同時填寫則開啟 mTLS(雙向憑證驗證),值可以是 PEM 內容或檔案路徑。
client-fingerprint僅 VMess/VLESS/Trojan/AnyTLS用戶端 uTLS 指紋,用來模擬真實瀏覽器的 TLS 特徵。可選 chrome/firefox/safari/ios/android/edge/360/qq/random(按真實瀏覽器分布機率隨機產生)。
reality-opts
REALITY 設定,不為空則啟用。
public-key必須REALITY 伺服端私鑰對應的公鑰。
short-id必須伺服端設定的 short id 之一。
support-x25519mlkem768可選支援 X25519-MLKEM768 後量子金鑰交換。
由於上游實作的相容性問題,不建議搭配 xray-core v26.7.11 及以上版本使用 REALITY;建議換用 mihomo 原生 listener、sing-box 或舊版 xray-core 作為伺服端。
ech-opts
enable可選啟用 ECH(Encrypted Client Hello)。
config可選ECH 設定內容,留空則透過 DNS 解析取得,填寫則用該 base64 編碼的值。可以用 mihomo generate ech-keypair test.com 指令產生一對自簽設定,輸出裡 Config: 後面的內容填在這裡,Key: 後面的內容填在伺服端設定裡。
query-server-name可選透過 DNS 解析 ECH 設定時指定使用的網域。