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 配置时指定使用的域名。