西西河

主题:【原创】凑个热闹,超级懒人的GappProxy教学贴,完 -- zzbzerg

共:💬30 🌺50 新:
全看分页树展 · 主题
家园 【原创】凑个热闹,超级懒人的GappProxy教学贴,完

近来河被墙,大家很悲伤。一朝梯在手,任君凭栏望。

自从ccthere被墙以来,河里讨论梯子的事也多了起来,俺这菜鸟也鼓捣了一下,有点心得,正好聊天室里有河友说起,索性俺也凑热闹写个GappProxy的教学贴。

说是教学贴,其实俺本人就是菜鸟一个,以前也没有过于强烈的翻墙需求,对于代理的理解也仅停留于年少时用socks代理上qq以及多ip登陆diablo2 BN之类,所以本菜鸟赶时髦写此GappProxy教程,不是为了给牛人或熟练手看的,而是以下几条目的:

1.为了懒人以最快的速度,搭好好用的梯子

2.为非工科背景以及不愿意纠结于过多技术名词的人快速搭好好用的梯子

3.除了step by step外,还要说一些不讲究严密的科普,以便上述两种人能快速了解搭梯子的理念,而不是无脑的重复1,2,3,4等步骤

注:看起来挺长,其实可以各取所需,不要被篇幅吓到了。

第一部分 基础知识的科普

(第一部分可以让没有基础的人大致了解自己在干什么,有基础的,性急的可直接跳到第二部分,按步骤操作,也没问题。)

闲话少说,开始!

1.梯子

梯子就是翻墙的东西,突破某些限制,访问某些墙外的网站

2.梯子功能的实现

实现梯子,有好多方法,今天大致片面的以代理服务器为例

我是A,能访问B,但不能访问C,D,E,F

但B可以访问C,D,E,F,所以,我有点小手段,当我想访问C,D,E,F时,先找B,然后通过B传话给C,D,E,F,从而实现我和C,D,E,F的交流

还不明白的,参看张生,红娘,崔莺莺

3.Gappproxy是什么东西

全写出来google application proxy,字面就是“谷歌应用”代理服务器

大家知道,想在电脑上实现某个功能,就要装软件。“谷歌应用”就是往谷歌他们家电脑上装软件。(当然,你要是想往我电脑上装软件,我可不让)

但谷歌允许你在一定规则的限制下,在他们家电脑上装软件(他们家电脑性能好啊,而且在墙外面啊),所以非常适合当红娘。

想把谷歌调教成红娘有点复杂,要按照它能接受的方式,用它听的懂的语言(python,java)

这个不用咱们懒人操心,有人替咱做好了,Gappproxy就是实现这种红娘的功能的软件。

4.怎么往谷歌家的大电脑上装软件

往自己电脑上装软件,可以用光盘,U盘,下载等方式;

往谷歌家电脑装软件,要用上传,谷歌给你提供了全套的工具,不仅包括上传还包括调教,简单的说你用google提供的工具,不仅能上传,还能让它任你摆布,当红娘就是一种,嘿嘿。这些工具包括google app engine SDK, 还有用到的相应语言(比如Gappproxy用的Python)的SDK,我知道懒人一看这些就烦,不就是上传嘛,装这么多用不着的东西干嘛?

对,所以这些咱都不装,只装一个霸王硬上弓的专用工具SDUpload 0.1,用它就可以把软件装到谷歌家的电脑上去。

5.张生会红娘的信物

两个人单独约会,有时需要拿点信物,比如你拿《女友》,她拿一本《知音》,一对暗号,就成了“我亲爱的她,难道你真的不懂我的心?”

所以你光把谷歌调教成红娘还不行,你和她得有个信物。你在谷歌家安了红娘软件,你这里也得装一个红娘客户端

分别对应的就是fetchserver和localproxy。记住,fetchserver是要霸王硬上弓塞给谷歌的;localproxy是自己留着的。

6.自己和面蒸馒头还是买现成的馒头

好了,我们假定张生和红娘约定,各自手持一个馒头做信物。我们看着这个约定犯了难,因为我们下载到的东西(fetchserver和localproxy)似乎文件夹里都是.py的文件,这些文件其实是python语言写的源代码,让我们不知所措。

对编程有一点了解的童鞋知道,源代码想变成可执行的文件,中间要经过编译,(链接),解释等过程,最后生成可执行的程序。

不要头痛,源代码就是面粉,你想吃馒头就得加水和面上锅蒸,蒸熟了才能吃,或者你直接拿别人蒸熟的馒头吃。

好了,谷歌娘心灵手巧,直接把fetchserver的源代码这袋面粉塞给她就行了,后面不用管,她自己会蒸馒头的。

而我们手里的localproxy这个面粉,有点麻烦,想加水和面蒸馒头的话,就要下载phython的SDK,我等懒人,看到这个实在是头痛了,干脆吃别人蒸好的馒头就行。

让什么SDK见鬼去吧!

7.总结

经过前面的分析,我们定下了懒人搭梯子的基调和步骤

1)向谷歌申请,请它允许我们在他家电脑上装程序

2)拿到fetchserver这个红娘程序,装到谷歌家电脑上去

3)拿到localproxy这个信物,既有源代码形式的,也有.exe这种懒人喜闻乐见的可直接执行形式的。

对于我们懒人,用哪个不用多说了吧?

--------------我是分割线---------------------------------------------------------

第二部分 具体步骤

(已经有搭建gappproxy经验的河友,只是嫌1.00beta版本有瑕疵的,可以直接下载链接里提供的r102版的软件并跳到第三部分)

1.申请一个Google App Engine帐号,并创建一个应用,图文参看此链接的第1点。

http://hi.baidu.com/chinaoffice/blog/item/80e25a81bb79e1d3bc3e1eb8.html

tips:

a.账号用gmail的帐号即可,没有可现申请

b.这个过程就是向谷歌申请在他家电脑上装程序的过程

c.在创建一个应用(create an application)这步,起的名字(application identifier)要记住,我们举例假设取为zzbzerg

2.下载fetchserver,就是要装在谷歌家电脑上的程序,这里给出新版r102的链接

外链出处

解压后得到一个文件夹fetchserver,把里面的index.yaml删除,然后用记事本打开app.yaml,把里面的your_application_name整体替换成你刚才取的名,这里是zzbzerg,然后保存,关闭记事本。

3.下载上传的工具SDUpload 0.1,链接在此

http://code.google.com/p/sdapp/downloads/list

下载2.1M的那个,压缩包的名字是SDUpload 0.1.rar

解压缩,得到一个名为SDUpload 0.1的文件夹,把刚才那个fetchserver文件夹整体复制到SDUpload 0.1文件夹里

4.开始上传

在命令行(*)下进入SDUpload 0.1文件夹后输入 SDUpload update fetchserver会提示输入email和密码,输密码时屏幕无反应,只管输完,回车显示下列信息,说明上传成功。这是你的google红娘已经开始工作了

Scanning files on local disk.

Initiating update.

Cloning 3 application files.

Closing update.

*:不会用windows命令行模式的按此做,以xp为例

假设你解压后的SDUpload 0.1文件夹是F:\ladder\SDUpload 0.1

请根据自己实际情况替换相应的文件夹名称及位置

开始——》运行——》输入cmd 回车,弹出一个黑窗口

输入 F: 回车,继续输入cd F:\ladder\SDUpload 0.1

然后就可以敲上面说的命令了。

5.下载及配置客户端

我们直接拿现成编译好的来用,链接如下

外链出处

解压,得到GAppProxy文件夹,进入,双击gui.exe,把第二行勾上,填入http://zzbzerg.appspot.com/fetch.py

zzbzerg要替换成你自己取的名,点save,然后quit,再打开点hide或者最小化都行

6.设置浏览器

以ie为例,Internet选项->连接->局域网设置->代理服务器

打勾"为LAN使用代理服务器"

地址:127.0.0.1

端口:8000

确定

7.可以站在墙头观风景了。下次使用时,直接双击gui.exe,稍候即可打开浏览器站在墙头观风景。

-----------------------------------------------

第三部分 版本说明

(用苹果机的直接跳到第四部分)

我给的几个链接是r102版,fetchserver的源代码和localproxy的可执行文件,除了需要用SDUpload 0.1作为上传工具外,不需要下载google app engine sdk,python等开发环境。

墙内墙外都可访问,速度很快,youtube和facebook也可以正常使用,https链接也可以正常使用

算是比较完美了。

到此,用windows的人已经可以正常翻墙浏览了。下面的第四部分留给苹果粉。

-------------------------------------------------

第四部分 在Mac OS X上的使用

话说,在聊天室里or某贴里,有人提问说Mac是否可以使用。

我回答,应该可以吧,有些心虚,因为那时还没试过,但凭俺的逻辑推测,能用的可能性相当大。原因如下:

1.gappproxy用python编写,python的跨平台可移植性很好

2.虽然在gapproxy的官方网站好像没提mac,但提到了Linux

而mac osx和linux多少有些沾亲带故。

3.gappproxy是个网络应用,程序本身应该没有过多依赖本机硬件的东西,更何况现在的mac和pc在硬件上的差异极小了。

正好,我的台式机装的是mac os 10.4.8(tiger,很老了)和winxp的双系统,于是我查找了一些资料并开始用自己的osx测试

最终,成功实现翻墙,浏览器用自带的safari

步骤如下:

1.搭建fetchserver,步骤同上,已搭好者请跳过

别告诉我你不用windows,只用mac,如果真这样,你还是老老实用官方办法上传吧;当然你也可能有更方便的办法。

2.下载python,官方站2.7

http://www.python.org/download/releases/2.7/

请自行挑选平台

tiger用for 10.3 or later的

leopard用for 10.5 or later的

下好后安装。

一般用mac的人不用俺科普,不过我见过不少用macbook pro和iphone的美眉是纯外貌协会的,还是啰嗦一句,exe没法在mac里直接执行,所以....客户端不能用上面那个,要下载python来运行源代码(终于要自己和面蒸馒头了)

3.下载localproxy的源代码,同样用r102的

官方网址http://gappproxy.googlecode.com/svn/trunk/

把localproxy那个文件夹里的东西都弄回来。

我其实下的是打包好的,但忘了从哪里下的了....囧

如果是打包版,解压,得到localproxy文件夹,打开localproxy中的proxy.conf,修改“fetch_server =”后面的地址,此例为http://zzbzerg.appspot.com/fetch.py并去掉开头的#号

其实这个性质和windows里第二部分第5条是等效的。

目的就是一个,把proxy.conf文件的内容改为:

fetch_server = http://zzbzerg.appspot.com/fetch.py

4.打开terminal(终端),进入到localproxy所在的文件夹,执行python proxy.py

出现类似这样的信息

HTTP Enabled : YES

HTTPS Enabled: YES

Direct Fetch : YES

Local Proxy :

Fetch Server :http://zzbzerg.appspot.com/fetch.py

说明客户端工作正常,不要关闭终端窗口,最小化即可

配置浏览器代理,系统预置——》网络——》代理

勾上http和https,地址端口127.0.0.1:8000

点“现在应用”

5.开启浏览器,如safari等,开始墙头眺望

顺带引申一下,因为iphone的系统内核和mac相似,而python恰恰有for iphone的,所以理论上iphone也可以用gappproxy翻墙。

经搜索,实际也有人做到了。

再进一步,python有for s60和for windows mobile的

所以各位用智能手机的朋友,有需要的话,不妨试试

-------------------------------------

这篇不短文章终于算是写完了,虽然以后还可能有些修补,但框架基本确定了。

俺也要:

感谢月色给俺的O梯子,使得我在自己没有梯子的时候,能够翻墙查资料,最后完成梯子。

感谢鼓励我写这篇文章的人

感谢gappproxy的开发者及贡献者,以及我这两天查的所有资料的原作者,转载者,下载地址提供者,太多了无法一一列出(其实我都记不住确切的了)

感谢GAE,感谢phython,感谢.....MTV

什么?李大师?让他一边抗铁牛去!俺是不扛了。

完。

关键词(Tags): #翻墙GAPP(slyypp)#翻墙(嘉英)#懒人#GappProxy#r102通宝推:all4fun,

本帖一共被 5 帖 引用 (帖内工具实现)
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河