科学姿势上google指北


自由虽有很多困难,民主亦非完美,但我们从来没有建造一堵墙,而不让人民离开我们。

——约翰·菲茨杰拉德·肯尼迪

前言

  由于国内使用google受限,只能用百度,但是作为一个技术人员,百度搜索的资料比较弱,很多垃圾信息。当然我觉得百度也还不错,只是用google可以 装B 提高自己的眼界,不会在国内坐井观天。所以今天来摆一摆自己的翻墙之路,使用的各种翻墙产品。

0.修改hosts   先来最简单的,修改hosts大法。

  优点:就是简单,不影响国内网站的访问,可以访问除google以外其他添加了hosts的网站。

  缺点:随时可能失效,需要定期更换host。(github上一大堆hosts,每天更新一次)

1.SSH代理   比较老牌的翻墙方法了,操作步骤和原理是:

  浏览器 < ==secure tunnel==>ssh server – > google.com

  浏览器先通过加密通道链接到一台服务器上,然后通过这个服务器再访问整个互联网。主要就是通过这个隧道访问。

  浏览器要设置代理,SSH代理会加密数据,然后发到远程的SSH服务器(一般是你自己在国外购买的VPS)。

  要翻墙,最重要就是把数据加密(不加密,GWF会识别敏感字直接拦截),然后发到国外的服务器,由国外服务器代理访问国外的目标网页,然后把内容原路返回。

  优点:穿透性很强,相比VPN稳定很多。简单点的就直接   <pre>ssh -D 0.0.0.0:1080 -f -N localhost</pre>

  缺点:对于不懂的人来说比较麻烦,想翻墙,就要购买VPS,搭建SSH服务器,本机启动SSH代理,修改本机的浏览器代理指向本机的SSH代理。

2.隧道代理   浏览器代理翻墙,比较常用的就是这种了,其实它的原理和SSH代理翻墙差不多,代表性的产品有shadowsocks,goagent,但是goagent的大名鼎鼎,经常被封,这里也不多说了。我这里重点讲讲shadowsocks。

  shadowsocks是一个轻量级的隧道代理,比较稳定(不容易被河蟹,X大期间goagent访问也是各种不稳定),使用socks5协议和可自定义密码的工业级算法加密,使得流量在网络传输过程中不易被他人读取,而且配置比较简单,性能很优越。但是需要自己搭建一台VPS,如果自己没有VPS,网上也有免费的。推荐这个,用户注册不需要验证邮箱,每个月有300MB的流量,更新下chrome、同步书签、收收邮件还是够了。

  优点:穿透性很强,相比VPN翻墙稳定, 性能优越,无需配置。

  缺点:因为shadowsocks是sock5代理,所以有些软件不支持sock5代理,就无法翻墙,但是浏览器都支持,一般还是没问题。

3.VPN翻墙   所谓VPN翻墙,我们必须先找到一个VPN服务器(IP),可以是自己购买国外的VPS搭建,也可以是用他人已搭建好的VPN。比较多的人是买VPN服务翻墙,甚至做游戏加速。

  而VPN技术分为PPTP、L2TP、OpenVPN三种隧道技术,但是很可惜,这三种VPN技术,目前都有很严重的体验问题。

  PPTP和L2TP,最为广泛支持,几乎所有的操作系统和手机都支持,但是,由于工作协议是第二层,加密又弱,所以很容易被墙给拦截,破解,我使用过市面很多服务提供商的PPTP和L2TP服务,都是前面用一阵子凑合,没过几天,就很不稳定,经常换线路,用户体验相当差。当然也可能是我都是用的免费的

  而OpenVPN基于TCP和UDP实现VPN隧道技术,它的穿透性很强,但是,性能很差,主要原因是虚拟的tap网卡只有10M(OpenVPN作为开源项目,更新也比较缓慢)。还有一个最致命的问题,就是dns,如果本地vpn使用国内的dns解析,由于dns会被污染,所以google会很不稳定,但是用国外的dns,访问国内网站会很慢,当然访问国外网站也不快,所以最终我也放弃了用OpenVPN翻墙。

  值得一提的是我在公司服务器上搭建了OpenVPN server,以往在家里处理工作上的事都是用远程桌面跳转机,卡不说还经常打挤。现在客户端直接连上OpenVPN server就能连入公司内网环境,还是很方便的,也许比用来翻墙更靠谱。

  优点:可以广泛支持电脑和手机的软件翻墙,不需要软件支持sock5代理,除了翻墙还能做TCP/UDP穿透。

  缺点:性能比较差,不稳定。

总结

  目前国内翻墙,比较稳定的是隧道代理,如果有自己的VPS,可以使用shadowsocks搭建;如果没有,建议免费的goagent,虽然封得厉害,但多等等还是有可用地址。