2016年2月27日星期六

如果MEEK被屏蔽了

    如果MEEK被屏蔽了......

话说去年英勇的Tor团队开发出了一款突破GFW封锁的神器:MEEK插件[1],成功让Tor在天朝复活了。

简单来说MEEK插件的原理就是客户端先与云平台(GAE,amazon,Azure)连接,看上去是访问云平台(front domain),实际上是以云平台作为中介访问MEEK server再连接Tor中继形成Tor电路的。这些云平台很多公司都要使用,所以审查者不敢随意封杀。

但如果审查者还就是什么都不管,把云平台给屏蔽了呢?比如说天朝GFW就直接把GAE给完全屏蔽了,直接使得MEEK-google失效。我也看到有些人反映其他两个MEEK插件在有些地方也连不上了,这时候又应该怎么做呢?

屏蔽云平台最常用的方法就是DNS污染了,这时可以试着把本地连接的DNS服务器设置为国外的DNS服务器,具体请看这里[2]。

不过在我大天朝GFW面前,这种方法通常都是不管用的,那就只能想办法把默认的front domain修改为可用的云平台域名了。具体过程如下:

1,用记事本打开extension-overrides.js文件,文件路径为Browser/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js

2,找到以下内容:meek 0.0.2.0:1 url=https://meek-reflect.appspot.com/front=www.google.com
meek 0.0.2.0:2 url=https://d2zfqthxsdq309.cloudfront.net/front=a0.awsstatic.com
meek 0.0.2.0:3 url=https://az668014.vo.msecnd.net/ front=ajax.aspnetcdn.com
现在解说一下里面各项的含义:meek表示传输名,不能省略也不能改动;后面的0.0.2.0:1可以修改为任何值(除了0.0.0.x之外,因为这是Tor内部默认使用的地址);“url=https://az668014.vo.msecnd.net/ ”是MEEK server的域名,GFW封锁它也没有意义;front=ajax.aspnetcdn.com是云平台的域名(front domain),一旦被GFW封锁,MEEK插件就会失效。

3,那么我们看到让MEEK插件复活的关键就在于要把默认的front domain修改成未被屏蔽的域名。例如在天朝google被屏蔽了,但有一些google服务并没有被屏蔽,例如被各大网站广泛使用的Google Analytics和DoubleClick ads,可以试着把front domain换成对应的front=ssl.google-analytics.com或front=www.doubleclick.net,或者还可以寻找其他的google服务的域名。还有就是hosts修改可用的google IP,或者像goagent一样上传,具体看这里[1]

MEEK-amazon也是类似的修改方法,http://www.alexa.com/siteinfo/cloudfront.net这里有一堆可用的域名,大家可以试试,或者也可以自行寻找属于amazon cloudfront的域名。

MEEK-azure也一样,可以搜索一些属于Azure CDN的子域名,例如front=officeimg.vo.msecnd.net

还有一种方法:直接放弃front domain,把MEEK-server改成自己的,例如自己去申请一个免费的国外PHP空间,然后把url=之后的域名换成自己空间的域名,不过需要支持HTTPS

翻译概括自https://lists.torproject.org/pipermail/tor-talk/2015-January/036410.html

最后附上科普文链接集合:https://plus.google.com/109790703964908675921/posts/TpdEExwyrVj

参考资料:
1,TOR与GFW的PK(1)https://plus.google.com/109790703964908675921/posts/CCS4c7jn3t9
2,GFW的工作原理(2)
                                 ————不靠谱的DNS,总是被钻空子
https://plus.google.com/109790703964908675921/posts/Wqz2qrXdyqs

没有评论:

发表评论