2007/10/08

从国内访问被屏蔽的网站:Through "Tor"

假期在家看书的时候忽然很需要查阅维基百科,因为几个月前英文的维基百科是解封了的,中文的不可以。谁知道上网才发现连英文维基百科也无法访问了。郁闷之余,开始寻找破解GFW屏蔽的办法。手动找国外代理太麻烦了,以前听说过一个软件可以自动寻找并使用国外代理的,叫做无.界.浏览。我用google搜索了一下,却发现这其实是个悖论:某某浏览这个关键词本身就是被屏蔽的,想通过google找到它的话除非是自己在已使用它的情况下访问google!

努力了很久又发现一个叫做自由.门的软件可以达到同样的效果。下载下来可以用,却发现是为某某功摇旗呐喊的,心中不爽,于是继续寻找更好的办法,结果还真给我找到了:Tor就是这么个东西。

我对Tor的理解是这样的:当你安装了Tor客户端之后,你就成了Tor网络中的一个节点。当你的浏览器要访问一个站点的时候,它并不直接向该站点索取数据,而是在Tor网络中寻找一个加密的路径,这个路径最终指向你所要访问的站点。这样做下来有两个特点:第一个特点其实就是Tor的主要目的,也就是说该站点无法获得访问者的信息,譬如IP地址;第二个特点就是Tor网络中的节点实际上起到了一个代理的作用,这样就避开了GFW的封锁。

Tor推荐使用Firefox浏览器,因为TorButton插件可以方便地切换代理。这个对我不是问题,因为我本来一直就是Firefox的拥趸。Tor的软件包可以从官方网站下载页面上拿到。安装包里面包含几个组件:Tor是肯定要装的,这是核心引擎;Vidalia是Tor的一个图形化管理软件,这也是需要的;Privoxy按照我的理解就是基于Tor的一个代理服务器,这个东西不安装的话上网的时候会显示代理拒绝连接;TorButton是Firefox的一个插件,用来很方便地切换Firefox的代理。安装包里的TorButton我装了之后不能使用,最后到Firefox官网上搜了个最新版本才搞定。

安装之后运行Validia,Privoxy,然后运行Firefox,如果TorButton安装成功,那么Firefox状态栏右侧会有绿色"Tor Enabled"的文字,这个时候直接打开要访问的网页就可以了,你的请求会在加密后进入Tor网络,从最后一个节点出来后变成明码,然后发送给目标站点;而目标站点的内容在进入最后一个节点之后就变成加密的,通过Tor网络最终到达本机时被本机解密。由于分布式架构的原因,Tor刚启动的时候网速会很慢,过段时间会快一些。另外,点击绿色"Tor Enabled"之后它就变成红色的"Tor Disabled",这个时候Firefox就和往常一样了,不通过代理而直接访问站点。

我试了下,用这个方法维基百科可以访问了,而google.com搜索一些关键字也不会被屏蔽,更重要的一点,我好几年没用过的google快照也恢复功能了!Tor真是个有大想法的好东西!