这两天发现用 chrome 登录 chat.openai 一直提示不支持当前地区,也就是这个
Oops! OpenAI’s services are not available in your country. 之前可以登录,也非常明确走了代理,所以立即换了其他浏览器,果然可以,开始尝试清除 chrome 的缓存,包括登录相关的其他域名缓存,开无痕模式,依然提示地区不支持,开始好奇究竟使用了什么方式检测。
网上搜索大多都是让挂代理,以及禁用 quic ,并没有什么用,还是找到了一个有点用的地址,https://chat.openai.com/cdn-cgi/trace ,通过这个可以看到当前的地区。
通过对比,不对劲的是 chrome 拿到的是 ipv4 ,通过其他方式包括 curl 拿到的都是 ipv6 ,纠结了一会方向还是错了,另外一个不同的地方是有个参数其他的方式拿到的是 kex=X25519 ,chrome 拿到的是 kex=X25519Kyber768Draft00 ,中间 kyber 搜了下,是个混合后量子密钥交换的算法,那应该就是这个问题
打开 chrome://flags,有个 TLS 1.3 hybridized Kyber support,默认是打开的,禁用之后,果然可以登录成功了,猜测可能是通过 ssl 交换信息时里面包含了真实的地区