关于GAE,说得已经够多了,在其上搭建个人私用代理服务器,本博也已经介绍过 gappproxy 。哥就是厚道,强大的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标签则是 gappproxy
GAE是Google提供的一项免费而强大的服务,简单来说,就是Google依托本身的服务器、技术和带宽资源,免费给用户提供的免费服务器——可以看作是特殊的WEB服务器,支持Python和Java编程语言。
GAE官方地址:猛击此处进入
GAE简单介绍:猛击此处进入
GAE程序汇集:猛击此处进入
那么,对普通google用户来说,如何获取并使用GAE呢?
首先,你需要已经有(或者现在注册)一个Gmail账号。然后以此登录Google,并注册一个App Engine账号(点此进入注册),注册过程详解如下:
进入https://appengine.google.com/之后,首先会要求你用Gmail账号登录,如下图
登录之后,自动转向Application注册页面,如下图
接下来的页面,要求你用手机短信激活GAE账号,如下图
友情提示:我已经注册过两个账号,确认绝不收费,一分钱都不会收
需要提醒的只有一点,手机号码的格式应该这样:+86 13888888888
如果格式不对,下一次会提醒你重新输入。点击“send”按钮后跳转到下一页面,此时等待收取手机短信中包含的激活码即可。一般情况下,十分钟之内 应该可以收到短信,如果过时仍未收到,在当前页面,点击“try sending it again”链接,重新获取即可——通常不会收不到。如下图,收到之后填入表单,提交
提交完成之后,GAE账号即被激活,然后就可以创建新的应用程序了。
以Hyk-Proxy-Server为例,说明如何在GAE创建新应用
激活GAE账号之后,转入“My Applications”页面,点击“Create an Application”新建应用,如下图
顺便说一句,一个Gmail账户最多可以创建十个应用。
进入下一步,填写新应用的必要信息,如下图
记住上图中填写的第一处,比如添加应用名称为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,你应该得到了四个文件夹,如下图
接下来,是正式开始往GAE上传代码建立应用:
首先,打开AppCfgWrapper-0.2.0文件夹,找到appcfgwrapper.jar文件,双击运行,如下图
稍等片刻,程序被运行,界面如下图所示
说明:该填写的地方我在上图都标示出来了
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文件,如下图
双击运行之后,会弹出CMD命令行窗口,以及客户端GUI界面,如下图
现在,点击“Config”配置按钮,稍等片刻(Java运行真有点慢),弹出配置界面,如下图
上图中可以看到,作者搭建的示例程序还在,删掉即可。
点击New按钮把自己的Appid添加上,如下图
说明:只需添加AppID即可,用户名和密码不用填,填写了可能会出现错误,需要手动检查配置文件;
填写完毕,OK,回到前一个配置页面,点击最下面的应用按钮“Apply”,回到客户端界面。
此时,点击右侧最上面的Start按钮,让本机客户端连接GAE上的服务端。如果连接成功,则在界面下方,会出现提示 a fetch service is working,如下图
提示一:如果在这个操作过程中,出现“找不到某某路径”的错误提示,请确定你所有的文件(夹)没有使用中文名称——如果使用中文名称,绝对会出现此错误提示;
提示二:为什么是 ”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,该翻就翻
5 条评论:
在结束语及其他部分的那个端口是不是写错了,上面代理的地址是什么里写的是48100,下面结束语及其他部分怎么变成了18400?
最近看到gfw blog介绍了不少利用gae翻墙的技术,我感觉不太好。
说实话,我是比较喜欢gfw blog的,可以看到很多事实,而不是粉饰的太平。但是gfw意识形态过于明显,到现在,我发现我开始反党了,呵呵,因为看了太多被屏蔽的真相,但是gfw有一点没有做到,那就是新闻媒体的中立性,本身gfw就带有一种反党、反强权的色彩,而且文章也多以批评为主,党统治的社会也是在进步的,为什么不稍微提一下呢?
跑题了~呵呵~回到原来:
gae是个谷歌的一个好服务,而我的博客http://www.taogogo.info也是架设在gae上的,所以我不希望gae被封锁,而且有很多人的不涉及到政治的gae应用在上面,gfw blog不停的发布这种文章,从我个人来说,我觉得不好,因为大家都知道,凡是涉及到政治的网络服务机会国内都会封锁。
前段时间dropbox被封锁,我觉得应该是某部分人群在用它传播翻墙软件的原因(猜测~呵呵,因为gfw发威几乎都是源于政治)。
以前ghs.google.com可以绑定域名,可是为什么被封了?我觉得脱不开“反动言论”的干系。再比如说YouTube、twitter等等优秀的应用……
作为一个爱好技术的人,我希望gfw能够保护一下我们的权利,我们也向往自由,可是在这种大环境下,我个人还是希望大家能够为我们考虑一些,尽量不要再说gae翻墙了。
我希望这篇文章能够发表,同时我声明一点,我不是五毛党,我只是想安安静静的学习技术,使用gae这个稳定的服务,我深深的爱着我的国家和生活在这个国家的人民。
我的标题是:“翻墙方法有多种,希望您能饶过gae”
这个有限制吗?
比如能不能看大流量的视频网站?
没有出错的情况下,配置完成,但无法启动啊,提示如下,no fetch service found
一直显示手机号码错误
发表评论