▎覆盖用于验证证书的域名,但不会改变 SNI
免流等场景下, SNI 改为混淆, 不关验证, 仍然验证证书的域名
verifyPeerCertByName, URI 上叫 vcn$server['name-cert-verify'] = 'b.com'- ❤️1
verifyPeerCertByName, URI 上叫 vcn$server['name-cert-verify'] = 'b.com'
certificate_public_key_sha256)session_id、conversation_id、thread_id),否则多账号环境下的粘性会话(Sticky Session)会失效。http {
underscores_in_headers on;
}xcaddy build master --output /usr/bin/caddyservers :443 {
expected_underscore_headers session_id conversation_id thread_id
}curl https://mise.run | shecho 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrcecho '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fishgomise use -g gogo install github.com/caddyserver/xcaddy/cmd/xcaddy@latestxcaddy build master 但是可能也有新鲜的 bug 🐶xcaddy build latest --with github.com/pberkel/caddy-storage-redis --output /usr/bin/caddy/etc/caddy/Caddyfileencryption_key 开启加密compression 开启压缩tun:
loopback-address:
- 10.7.0.1
docker volume create anisette-v3_dataservices:
anisette-v3-server:
restart: always
container_name: anisette-v3
ports:
- 127.0.0.1:6969:6969
volumes:
- anisette-v3_data:/home/Alcoholic/.config/anisette-v3/lib/
image: dadoum/anisette-v3-server
volumes:
anisette-v3_data:
external: true
name: anisette-v3_data{
"servers": [
{
"name": "a",
"address": "https://a.com"
}
]
}
sni, 其次节点服务端certificate_public_key_sha256)Trojan-Go : verify_hostname 表示服务端是否校验客户端提供的SNI与服务端设置的一致性 文档Xray : rejectUnknownSni 服务端接收到的 SNI 与证书域名不匹配即拒绝 TLS 握手 文档sing-box: 问了下薄荷佬, 官版没有,server-cert-fingerprint TLS 握手时验证服务器证书 SHA256 指纹 文档server-cert-fingerprint-sha256 文档skip-cert-verify=true :Surge will not verify the server's certificate.
sni=off :turn off SNI completely
sni 为 IP 时, 也不发 sniverifyPeerCertByName, URI 上叫 vcn$server['name-cert-verify'] = 'b.com'bing.com 自签证书:openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout private.key -out certificate.pem -subj "/CN=bing.com" -days 36500openssl x509 -noout -fingerprint -sha256 -inform pem -in certificate.pemopenssl s_client -connect foo.com:443 -servername foo.com </dev/null 2>/dev/null | openssl x509 -noout -fingerprint -sha256 | cut -d= -f2tls-fingerprint 可自动转其他客户端, 但是 sing-box 的不一样, 没法直接转, 所以开放了字段让你自己设{ "name": "节点名", "type": "anytls", "server": "服务器", "port": 443, "password": "xYbpwdF9vIELWoLmdC", "udp": true, "sni": "a.foo.com", "fingerprint": "SHA256 指纹", "_certificate_public_key_sha256": [ "SHA-256 哈希" ] } openssl x509 -in certificate.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64echo | openssl s_client -servername foo.com -connect foo.com:443 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64$server._certificate_public_key_sha256 = [ "428F7quaQJvBhEr5TclcjPpsl1ryyNQo7oLBGhhC3UU=" ]