ihciah / shadow-tls

A proxy to expose real tls handshake to the firewall
https://www.ihcblog.com/a-better-tls-obfs-proxy/
MIT License
2.32k stars 265 forks source link

shadowtls v3 报错 #83

Closed LucaLin233 closed 1 year ago

LucaLin233 commented 1 year ago

服务端日志报错:WARN shadow_tls::server: ClientHello verify failed, will work as a SNI proxy 客户端使用的是Surge

docker compose 如下 shadow-tls: image: ghcr.io/ihciah/shadow-tls:latest container_name: stls restart: always network_mode: host environment:

请问该报错如何解决(

ihciah commented 1 year ago

请尝试更换一个支持 TLS1.3 的握手地址,可以参考这里的列表: https://github.com/ihciah/shadow-tls/wiki/V3-Protocol#services-that-support-tls13

另外可以尝试一下使用我们原生的客户端,判断下是客户端原因还是服务端配置原因。

LucaLin233 commented 1 year ago

请尝试更换一个支持 TLS1.3 的握手地址,可以参考这里的列表: https://github.com/ihciah/shadow-tls/wiki/V3-Protocol#services-that-support-tls13

另外可以尝试一下使用我们原生的客户端,判断下是客户端原因还是服务端配置原因。

更换到mp.weixin.qq.com,问题依旧,我觉得可能是客户端的问题 以下是surge的更新日志

新的订阅功能:Shadow TLS v3 支持

新功能:Adaptive TLS Fingerprint 由于 TLS/SSL 协议历史悠久,存在大量握手参数,且握手时的参数是明文传递的。这使得握手时的参数的排列与组合方式便可以当做一种特征,即 TLS 指纹。通过 TLS 指纹,可以推断客户端的浏览器版本、操作系统等信息。

为了保护隐私和防止非标准 TLS 客户端检测,Surge 新加入了 Adaptive TLS Fingerprint 功能。Surge 将从处理的流量中自动提取和复制系统请求的 TLS 指纹(目前复制对象为 gateway.icloud.com 的 HTTPS 请求)。通过这种方式,Surge 所产生的 TLS ClientHello 数据包将与 iOS 系统请求完全一致,避免产生独特的 TLS 指纹。

目前该功能与 Shadow TLS v3 绑定,无需单独配置开启。

是否会是这个Adaptive TLS Fingerprint的问题?

另一个问题:原生客户端需要怎么使用呢?

ihciah commented 1 year ago

原生客户端和你跑的服务端是同一个镜像,参考下 wiki 在本地或者任意一台能连通的机器上启动起来,然后 surge 直接以常规 ss 配置。

LucaLin233 commented 1 year ago

原生客户端和你跑的服务端是同一个镜像,参考下 wiki 在本地或者任意一台能连通的机器上启动起来,然后 surge 直接以常规 ss 配置。

好的,我尝试一下,谢谢佬

LucaLin233 commented 1 year ago

原生客户端和你跑的服务端是同一个镜像,参考下 wiki 在本地或者任意一台能连通的机器上启动起来,然后 surge 直接以常规 ss 配置。

闹了一个乌龙,surge的v3参数不支持ui编辑,导致ui打开时v3参数被移除,排查后发现了这一点,感谢佬的解答(

Yu-Hang-Z commented 1 year ago

我也遇到该问题了,大佬可以说一下如何处理的吗?

LucaLin233 commented 1 year ago

我也遇到该问题了,大佬可以说一下如何处理的吗?

该日志出现频率如何?如果频率很低可以忽视,频率很高的话可能你用的SNI有问题,surge的话可以改用gateway.icloud.com