TLS 配置¶
tls¶
启用 tls,仅适用于使用 tls 的协议,trojan 协议强制启用
sni/servername¶
服务器名称指示,在 VMess/VLESS 中为 servername,如果为空,则为 server 中的地址
fingerprint¶
证书指纹,仅适用于使用 tls 的协议,可使用
Warning
-
当填入的是叶子证书(即包含sni名称的证书)时,只验证服务端发来的证书是否符合该指纹,不会做额外校验
-
当填入的是其他类型的证书(如中级证书或根证书)的指纹,会验证服务端发来的证书链是否由该证书签发,自v1.19.20起还需符合sni/servername的要求
-
此项中的指纹是完整证书的指纹,不是HPKP中定义的“证书公钥指纹”,请勿混淆
alpn¶
支持的应用层协议协商列表,按优先顺序排列。
如果两个对等点都支持 ALPN,则选择的协议将是此列表中的一个,如果没有相互支持的协议则连接将失败。
参阅 Application-Layer Protocol Negotiation
skip-cert-verify¶
跳过证书验证,仅适用于使用 tls 的协议
certificate¶
如果填写则开启 mTLS(需要和private-key同时填写),内容为证书 PEM 格式,或者 证书的路径
private-key¶
如果填写则开启 mTLS(需要和certificate同时填写),内容为证书对应的私钥 PEM 格式,或者私钥路径
client-fingerprint¶
客户端 utls 指纹,仅适用于 VMess/VLESS/Trojan/AnyTLS 协议
Note
可选:chrome, firefox, safari, ios, android, edge, 360, qq, random, 若选择 random, 则按 Cloudflare Radar 数据按概率生成一个现代浏览器指纹。
reality-opts¶
reality 配置,如果不为空,则启用 reality
reality-opts.public-key¶
reality 服务端私钥对应的公钥
reality-opts.short-id¶
服务端 short id 之一
reality-opts.support-x25519mlkem768¶
支持 X25519-MLKEM768 密钥交换
ech-opts¶
ech-opts.enable¶
启用 ECH(Encrypted Client Hello),如果为true,则启用 ECH
ech-opts.config¶
ECH 配置,如果为空则通过dns解析,不为空则通过该值指定,格式为经过base64编码的ech参数(例如AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA)
Info
您可以通过mihomo generate ech-keypair test.com命令为服务器端和客户端生成符合要求的自签名ech配置对,请将test.com自行替换为您想要对外展现的SNI域名,输出中Config:后的内容可填在此处,Key:后的内容应填在服务端的ECH配置(mihomo的listeners中为ech-key)中
ech-opts.query-server-name¶
可选项,不为空时用于指定通过dns解析时的域名