最近火爆的ChatGPT为了限制非法访问,屏蔽了大量IP,包括某些国家地区和非原生IP。
恰巧我使用的境外服务器跳板就是非原生IP(即IP所在区域和ISP登记区域不符),此前还能正常使用,但近几天忽然发现它也被屏蔽了,显示这个错误页面:
由于服务器机房只提供了IPv4地址,此前为了增加IPv6访问能力,我使用了Hurricane Electric提供的https://tunnelbroker.net/服务,只需要服务器上简单配置,添加两个虚拟网卡,即可为提供IPv6公网地址。而且这个IPv6是原生的。
问题是shadowsocks在监听端口可以使用IPv6,但对外访问时并未优先使用IPv6,在很多情况下仍然会使用IPv4访问,这也导致了ChatGPT对IP地址的屏蔽。
很多人也遇到过同样问题,解决方案五花八门。有的改用其他机房的海外服务器(甚至据说要求IP和手机号注册地址一致,但这种情况存疑),有的使用Cloudflare warp服务再加一层代理获得原生IP,也有的使用tor browser访问。
但更换服务器有成本,warp服务配置复杂且ss原生并不支持上级代理,tor我试用过之后发现速度实在太慢且不稳定。
最后,通过查阅代码和讨论,找到一个最简单的解决方案。只需在ss-server命令行后面增加一个-6选项即可让它优先使用IPv6访问。
我将ss注册成了systemd服务,修改/lib/systemd/system下的service文件,修改一处参数:
ExecStart=/usr/bin/ss-server -c $CONFFILE -6 $DAEMON_ARGS
重启服务后即可正常使用ChatGPT了
正文完
可以使用微信扫码关注公众号(ID:xzluomor)