2010年5月14日星期五

[GFW BLOG] 再次祭出GAE,翻墙利器Hyk-Proxy-Server,该翻就翻

来源:攻防日志

关于GAE,说得已经够多了,在其上搭建个人私用代理服务器,本博也已经介绍过 。哥就是厚道,强大的GAE之上,越来越多的专业人士开始发力,code.google.com托管的源码项目已经不计其数,其中,如果你有心的话,肯定能找到相当多可用的proxy相关项目。

Hyk-proxy-server就是其中之一,我经过一番尝试,在GAE上又成功搭建起一台代理服务器。废话不多说了,本博文就详细介绍一下如何在GAE上利用Hyk-proxy-server搭建翻墙梯。

简单介绍一下Hyk-proxy-server,它是通过RPC来实现高性能的web proxy。基于目前实现的机制,将来还可以实现暴露更多GAE特有功能,实现为一个远程的GAE lib,而不仅仅作为web proxy。目前支持HTTP/XMPP方式完成web proxy功能——原理不多说了,开工。


再次强调GAE

每次提到GAE,总有人莫名其妙,不知道这是啥玩意儿。这次重复解析一下,GAE是Google App Engine(字面意思为Google 程序引擎)的首字母缩写。以后本博仍然按照惯例,对Google App Engine一律以GAE代称——在本博的tag标签则是  

GAE是Google提供的一项免费而强大的服务,简单来说,就是Google依托本身的服务器、技术和带宽资源,免费给用户提供的免费服务器——可以看作是特殊的WEB服务器,支持Python和Java编程语言。

GAE官方地址:猛击此处进入

GAE简单介绍:猛击此处进入

GAE程序汇集:猛击此处进入

那么,对普通google用户来说,如何获取并使用GAE呢?

首先,你需要已经有(或者现在注册)一个Gmail账号。然后以此登录Google,并注册一个App Engine账号(点此进入注册),注册过程详解如下:

进入https://appengine.google.com/之后,首先会要求你用Gmail账号登录,如下图

EZPC-GAE-01

登录之后,自动转向Application注册页面,如下图

EZPC-GAE-02

接下来的页面,要求你用手机短信激活GAE账号,如下图

友情提示:我已经注册过两个账号,确认绝不收费,一分钱都不会收

EZPC-GAE-03

需要提醒的只有一点,手机号码的格式应该这样:+86 13888888888

如果格式不对,下一次会提醒你重新输入。点击“send”按钮后跳转到下一页面,此时等待收取手机短信中包含的激活码即可。一般情况下,十分钟之内 应该可以收到短信,如果过时仍未收到,在当前页面,点击“try sending it again”链接,重新获取即可——通常不会收不到。如下图,收到之后填入表单,提交

EZPC-GAE-04

提交完成之后,GAE账号即被激活,然后就可以创建新的应用程序了。

以Hyk-Proxy-Server为例,说明如何在GAE创建新应用

激活GAE账号之后,转入“My Applications”页面,点击“Create an Application”新建应用,如下图

EZPC-GAE-05

顺便说一句,一个Gmail账户最多可以创建十个应用。

进入下一步,填写新应用的必要信息,如下图

EZPC-GAE-06

记住上图中填写的第一处,比如添加应用名称为fuckgfw,则fuckgrw即是你的Appid(记住Appid这个词,即应用的编号),而fuckgfw.appspoft.com则是应用的服务器地址。

点击提交之后,即成功创建了一个新的应用,所有的应用管理,可以点击应用名称,进入控制面板进行管理。诸如权限设置/免费还是收费/CPU Time/带宽情况等,都可以详细设置,这里不多说;

如何在新应用上传自己的Hyk-Proxy-server

1,准备工作,先下载相关的代码和工具。

HYK是运行在JAVA平台上的,所以要下载Java,猛击此处进入JAVA官方网站下载;

然后下载GAE的编译环境SDK,猛击此处进入SDK下载,注意要下载for java的版本(以前提到过的AppProxy搭建,则是下载for python版本)——这里提供直接下载地址——点此右键另存为

接着下载Phk-proxy的服务端和客户端,猛击此处进入Phk-proxy官方下载地址。需要注意的是,它的服务端和客户端是分开的,两个包都要下。服务端是hyk-proxy-server-0.8.rc1.zip,客户端是hyk-proxy-client-0.8rc1.zip;

最后,为了方便,尤其是对命令行管理方式不感冒的朋友,下载一个专用于GAE上传代码的工具appcfgwrapper,猛击此处进入工具官方页面,最新的版本是0.2.0

到此为止,你应该下载了5个文件,包括Java,SDK,Phk-proxy-server,phk-proxy-client和app上传工具;

2,安装工具及上传代码

第一步,首先安装Java,非常简单,不多说;

第二步,把下载得到的SDK解压,得到的应该是类似appengine-java-sdk-1.3.3.1的文件夹;

第三步,分别解压hyk的server端和client端,得到两个文件夹;

第四步,解压下载得到的appcfgwrapper;

现在,除了安装到系统中的Java,你应该得到了四个文件夹,如下图

EZPC-GAE-07

接下来,是正式开始往GAE上传代码建立应用:

首先,打开AppCfgWrapper-0.2.0文件夹,找到appcfgwrapper.jar文件,双击运行,如下图

EZPC-GAE-08

稍等片刻,程序被运行,界面如下图所示

EZPC-GAE-09 

说明:该填写的地方我在上图都标示出来了

1.前面提到过的Appid,前面举的例子是fuckgfw;

2.版本ver保持为1不变即可;

3.Application,点击浏览按钮,在本地计算机中定位到hyk-proxy-server-0.8.0rc1war;

4.填写Gmail账号以及密码;

填写完毕之后,点击“Add”按钮,添加到任务列表中。

接下来,在列表中选择新建的任务,然后点击“Deploy”按钮,server端代码将被上传到GAE中。

在最下面的详情框中,最后如果你看到success或者finish字样,说明已经上传完毕,服务端搭建好了。

现在,你可以在浏览器地址栏中键入 fuckgfw.appspot.com,回车,如果能看到如下一行

hyk-proxy 0.8.0rc1 server is running!

很明显,代理服务器的服务端已经成功运行了,接下来就要配置本地客户端以启用代理了。

配置hyk-proxy的本机客户端以启用代理

首先,打开hyk-proxy-client-0.8.0rc1文件夹,定位到bin目录下的startgui.bat文件,如下图

EZPC-GAE-10

双击运行之后,会弹出CMD命令行窗口,以及客户端GUI界面,如下图

EZPC-GAE-11

现在,点击“Config”配置按钮,稍等片刻(Java运行真有点慢),弹出配置界面,如下图

EZPC-GAE-12

上图中可以看到,作者搭建的示例程序还在,删掉即可。

点击New按钮把自己的Appid添加上,如下图

EZPC-GAE-13

说明:只需添加AppID即可,用户名和密码不用填,填写了可能会出现错误,需要手动检查配置文件;

填写完毕,OK,回到前一个配置页面,点击最下面的应用按钮“Apply”,回到客户端界面。

此时,点击右侧最上面的Start按钮,让本机客户端连接GAE上的服务端。如果连接成功,则在界面下方,会出现提示 a fetch service is working,如下图

EZPC-GAE-14

提示一:如果在这个操作过程中,出现“找不到某某路径”的错误提示,请确定你所有的文件(夹)没有使用中文名称——如果使用中文名称,绝对会出现此错误提示;

提示二:为什么是 ”a fetch service ”呢?问得好,程序支持使用多个AppID,循环调用;

提示三:如何启用XMPP?嗯,在配置界面,Connection标签中,选中enable XMPP即可;

提示四:此时代理已经成功配置,可以启用代理上网了,使用过程中不要关闭客户端界面;

其它相关的一些问题

第一,代理的地址是什么?

呃,刚刚发现,一直到现在还没有提到本地代理地址。其实你应该已经看到了,本地代理127.0.0.1,端口48100

第二,XMPP是什么东东?

我建议善用Google,它是大师傅,随时可以请教。这里简单说一下,它就是一种协议,比如Gtalk就使用XMPP协议。目前Hyk-proxy已经通过了Gtalk/jabber.org/Chatmask.com的验证;

第三,我不想用工具,而想手动用命令行上传服务端代码。

OK,当然没问题,对GAE的SDK环境操作熟练的话,当然可以手动上传,上传目录war,注意上传之前修改WEB-INF/appengine-web.xml中的AppID名称为你自己的;

第四,我不想客户端的GUI界面,也想手动用命令行操作。

欢迎高手使用,在操作前修改etc/hyk-proxy-client.properties中的remoteserver.appid.x

命令行执行bin/start.bat(start.sh)启动 local server, bin/stop.bat(stop.sh)停止;

第五,手动配置是哪个文件?

大部分配置都在hyk-proxy-client.conf中,如果你不想用GUI对话框配置的好,自己手动改吧,具体问题请看官方给出的一些说明,地址在此:http://code.google.com/p/hyk-proxy/

第六,有其它需要注意的吗?

有。第一,启用XMPP模式时,由于XMPP server限制,太频繁发送消息会被server拒绝,可采用配置多个XMPP账户来规避;第二,官方计划启用的EMail模式目前尚未实现,敬请期待!

结束语及其它

有了127.0.0.1:18400,具体怎么使用我就不多说了。注意暂时不要使用客户端bin目录下的admin管理员工具,如果用它配置了用户 名和密码的话,可能会导致连接错误。目前官方SVN源码已经解决了这个问题,但是下载包还没有。如果你有兴趣的话,可以直接用SVN获取最新代码;

这段时间一直以来都在寻找、测试、推荐方便易用的web proxy,包括GAE和普通PHP空间的。对如何在浏览器或全局使用代理,以及如何配置代理规则以自动在必要的时候翻墙,还没有写过相关的内容。

有时间的话,我会详细介绍一下各种自动配置代理的方法。

原创文章,转载请注明:
转载自攻防日志
本文链接地址:再次祭出GAE,翻墙利器Hyk-Proxy-Server,该翻就翻




--
Posted By GFW BLOG 功夫网 to GFW BLOG at 5/14/2010 03:48:00 PM

--
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、翻墙利器"赛风"(Psiphon)代理新网址:http://xinshenbuning.net/。3、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。
停止订阅,请发邮件到
gfw-blog+unsubscribe@googlegroups.com

没有评论:

发表评论