教育网(有ipv6接入)利用GAE(Google App Engine)实现免费上网并且翻墙

来源:http://debug-life.blogspot.com/2010/09/ipv6gaegoogle-app-engine.html

现在很多高校的上网机制都是按流量计 费,比如说中科院研究生院,研一就只有1G国际和2G的国内免费流量,这对现在多媒体横行的互联网来说是远远不够的,每次看到一个视频点的时候都要犹豫半 天,其中辛酸只有局中人可知。而研二以上就直接没免费流量了,要上网还要交钱,并且当超了流量之后上网费用颇为可观。

很 不幸,我就是这些人中的一员。于是我在原来学校搭了一个代理服务器,由于中科院连我们学校是不计流量费的,因此可以实现免费上网(各位想要搭建的可以使用 ccproxy+proxycap搭建,具体教程放狗搜)。但是,真正使用时发现,由于我用来搭建代理的服务器只有国内访问权限,因此有些国外网站或者 ip在国外的网站,如听歌的网站xiami,就无法访问,很是郁闷。

天 无绝人之路,上面这条路走不通了,或者说走得比较郁闷,就必须找新的出路。万幸的是,现在ipv6还处于实验网阶段,是免费的,因此可能通过ipv6实现 免费上网,于是我放狗搜“ipv6 免费上网”,知道了veno这个软件,它在ipv6环境下可以实现免费上网,但是,他是具有试用期的,试用期过后是需要付费的,这条路终非长久之计。

于是,我想到了Gapproxy这个软件,网上很多人用它作为翻墙工具,那也就是一个代理,他是基于Google App Engine(GAE)的, 而GAE是可以通过ipv6访问的,因此我们可以实现一个ipv6toipv4的免费代理,从而实现免费上网。其实,之前本科就用过Gapproxy来翻 墙,但是当时Gapproxy还很不稳定,经常掉线,只好作罢。现在重操旧业,但是发现Gapproxy对于SSL(443端口)加密貌似支持还不够好, 导致经常无法登陆facebook,twitter等网站。这条路也比较郁闷,于是继续放狗搜,终于搜到一条twitter推荐的翻墙软件 -wallproxy,粗略的看了下,感觉靠谱,于是实验了一下,发现果然好用,并且功能也很强大,可配置性也很好。本文的剩余部分就将描述如何通过 wall proxy实现免费上网并且翻墙。

首先,为了节省安装过程的流量,这一步也是用wall proxy免费上网的必做步骤,先要修改hosts, 网上有一份不定期的google ipv6 hosts文件,其可以在如下地址下载,如果因为被盾了,无法下载,大家可以搜一下,看看能否通过网页缓存看到,实在没办法,可以在本文后留言,我可以把 它发给需要的人(我不敢在我的blog公布该份hosts,因为我还是怕我的blog被盾的)

 https://docs.google.com/Doc?docid=0ARhAbsvps1PlZGZrZG14bnRfNjFkOWNrOWZmcQ&hl=en

具体改host过程可以网上搜,其实只需要简单的进行hosts文件替换即可,如windows下为C:\Windows\System32\drivers\etc\hosts,linux下为/etc/hosts。

hosts改好以后,就可以访问google的大部分服务,包裹youtube,picasa,Gmail的chat栏也多了一个call phone的图标,可以打几个免费电话了。

hosts只是准备工作之一,另外一个准备工作就是注册GAE了,GAE 是google推出的一个云计算服务,用户可以在上面运行python的java程序,就像在自己的机器上一样。GAE在如下地址注册,和一般 google服务不同的是,为了规避恶意注册,GAE需要手机认证,防止有些用户注册一堆账号,把各种乱七八糟的程序都放到上面跑。具体注册过程可以查看 下文:

http://www.allengao.com/blog/register-gae-google-app-engine-apply.html

注册完后,就要去下个GAE SDK,可以到http://code.google.com/appengine/下载,只需要下载python版的,其链接是http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python

最后一步就是下载GAE的运行环境python了(linux用户很多默认系统就装了python,可跳过此步),需要下载3.0版本以下的,推荐2.5版本的,由于现在python已经更新到了3.x了,2.5版本的比较难找,我这里给出一个ftp下载地址http://www.python.org/ftp/python/2.5.1/

以上只是先期准备工作,就绪后就可以正式开工了。

先去wall proxy的google code 主页下载wallproxy,下载后解包,按照readme安装即可,具体过程如下(以下文字直接引用自wall proxy):

  • 试用:WallProxy提供了两个试用服务端,普通Windows用户下载Windows打包后解压运行local目录下的proxy.exe或WallProxy.exe;安装有Python的Windows/Linux用户下载源码打包后 解压运行local目录下的proxy.py(依赖python-openssl包)。修改浏览器代理为127.0.0.1:8086或通过代理扩展设置 127.0.0.1:8086为代理(使用了代理扩展的话,建议在配置文件proxy.conf中“AUTOPROXY_LIST = ”这行前面加一个#注释掉该行以加快代理选择速度)。打开http://twitter.com查看是否成功(试用服务端屏蔽了www.youtube.com,建议搭建自己的服务端)。
  • 搭建自己的服务端:终究用自己的服务端会更好,建议搭建自己的服务端。GAE版修改gae_server/app.yaml中your-gae-id后上传gae_server文件夹(如何上传, 也可使用SDUpload update gae_server上传),每个Google账户可创建10个GAE服务端;PHP版上传php_server文件夹下fetch.php到PHP空间 www根目录。所得服务端地址为http://你的域名/fetch.php,将此地址修改到配置文件中即可。
  • 导入根证书:将ca.cr
    t 导入为根证书,以后遇到https链接就不会弹出证书无效的警告了。首次运行程序后会生成cert/ca.crt,Windows下IE等浏览器双击 ca.crt选择导入证书按提示操作即可;Firefox依次操作:首选项->高级->加密->查看证书->证书机构-> 导入->选择ca.crt文件->选中第一项->确定;Linux下Chrome按照LinuxCertManagement操作。导入后最好将以前添加例外的网站全部删除以避免冲突。
  • WallProxy使用了memcache缓存来节约流量和API调用(thx fcicq),可以打开http://wallproxy/cache查看缓存情况,或者http://wallproxy/cache/reset清除缓存。
  • 在GAE的Log查看界面可以看到每次访问的url/响应原始流量/传输流量。

上述过程也比较简单,在此就不再赘述,如有问题可以放狗搜,或者直接留言。

当一切工作都顺利完成以后,只需要将浏览器代理设为127.0.0.1:8086,你就可以开始体验通过ipv6免费上网,并且是在没有墙的世界畅游了。

不过这还不够,有时本游走各种上网环境,难免会去没ipv6的环境,这是还要改代理感觉很麻烦。因此,还必须找一个快速切换代理的方法,于是我在chrome下找到了Proxy Switchy!这个插件,发现其管理和切换代理还是挺方便的,其下载地址为:

https://chrome.google.com/extensions/detail/caehdcpeofiiigpdhbabniblemipncjj

具体的安装使用可以参考下面这篇博文:

http://www.laogeng.org/archives/670.html

PS:本来貌似GAE是有1G上传和下载流量限制的,但是由于我们是用ipv6和GAE通讯的,因此貌似也是不计流量的~ 

如觉得本文对你有用,请点击标题下的分享到各种SNS的按钮,让更多人可以实现免费上网,顺便看看墙外的世界~


2 条评论:

Unknown 说...
此评论已被作者删除。
Unknown 说...

其实这篇文章的原文是在墙内的,见:
http://www.debuglife.tk/2010/09/24/wallproxy-ipv6-free.html