解决阿里云香港google搜索验证码问题

对于电信用户扶墙,阿里云香港算是个好的选择,CN2线路可以基本做到全天任何时段不炸。当然,由于线路好,各大飞机场积极涌入,造成阿里云的ip被谷歌整段照顾,使用谷歌搜索的时候,不时会弹出验证码,极大影响了使用体验。好在验证码只影响谷歌搜索一个产品,可以用一些手段轻易避开。

方法一:为其它vps做端口转发
        不同于香港著名的沙田线路只对大陆友好,阿里云的线路在保持大陆友好的同时,国际带宽是不错的,也就是说,手里面有其它线路vps的童鞋可以用阿里云香港的机子做个端口转发,把SS、Softether等服务端架设在其它vps上,这样可以完美避免谷歌验证码的问题,也能极大优化大陆过去的连接速度。具体可以参考91yun老板写的教程,建议用socat进行转发,简单易用。追求极致性能的可以用iptables转发。
socat教程:

端口转发教程(三):使用socat进行单个端口的转发,同时支持tcp和udp

iptables教程:

端口转发教程(一):使用iptables进行端口转发

 方法二、建立SNI proxy,只转发谷歌搜索相关域名。

1.在能正常使用谷歌搜索的的vps上安装SNI proxy。对于CentOS,建议做成rpm包再安装。
(1)安装必要的依赖

(2)获取SNI proxy的源代码
访问https://github.com/dlundquist/sniproxy/releases 找到最新发布的版本,截止这篇博文,最新版是0.5.0 。下面有两种不同格式的压缩,对于Linux系统建议选择.tar.gz。找到之后复制链接,用wget下载到vps上面,tar解压。

(3)进入解压好的目录,依次执行以下命令。如果你的系统是32位的,或者你编译的不是0.5.0版本,请自行注意替换路径和文件名。

(4)安装完成后,执行sniproxy命令,看到输出即为安装成功
(5)建立/etc/sniproxy.conf文件,内容如下

注意,第二行listen后面写vps的公网ip,一定要写网卡上的地址,不要写0.0.0.0一类的泛匹配地址,否则SNI Proxy可能不会正常工作

(6)启动SNI Proxy,命令sniproxy -c /etc/sniproxy.conf
(7)检查一下443端口是否已经监听,如果监听好了,在阿里云香港的vps上面,编辑系统的/etc/hosts文件,将需要代理转发的域名指向SNI Proxy的IP,重启SS进程。
目前我写的hosts如下

(8)由于SNI Proxy只能转发https流量,如果访问谷歌报错,请手动在域名前面加上https://
(9)SNI Proxy放在公网上,一旦被扫到,极易被黑客利用,因为这种代理没有安全性可言,只要收到https的请求,就会代理转发。虽然可以在配置文件里面限制转发的域名,但是无法对客户端的身份做验证。所以,最好用iptables控制一下。仅允许443端口被阿里云香港的vps访问。

发表评论

电子邮件地址不会被公开。 必填项已用*标注