转-gae翻墙 hyk-proxy

关于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账号登录,如下图

 

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

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

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

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

我的前二十年和后二十年

这是一个多么有意义的话题啊,前二十年,在这个时候的确有很大的必要来做下总结,后二十年,也很有必要做下规划。

我出生在一个平凡的家庭,小时候父母总不在家,所以就自己和自己玩,做弹弓,拆东西,用废弃的小马达组装船之类的事情没有少做,这使得我对这个世界保持很很大的好奇心。

紧接着,就上小学了,那会儿电脑对我来说是很神秘的东西,在2000年千年虫传得沸沸扬扬的时候,更是觉得电脑是那么地神秘,可能也就是从那会开始就对电脑形成了很大的兴趣,开始关注这方面的知识。到了小学五年级的时候,换学校了,第一次有了电脑课,虽然面对的是一排的dos,需要输入一大串的命令才能到达自己想要的目标,当时能做的也只是练练五笔字根。还有五台电脑是98系统,大家轮流用,用得很开心,也更加期待能够多多了解电脑方面的知识了。六年级的时候又换了个学校,学校机房很新,双休日报了个电脑培训班,学了word excel ppt outlook等软件,可以说是对电脑有了一个比较正式的入门。前进的道路是漫长的,在百无聊赖的初中生活中,我哥电脑的宕机成了学习电脑时候必然发生的事情。也就是在初中的时候,坚定了我将来要从事it行业的决心。
高中的变化是巨大的,高中买了电脑,同时我担任了班级里的电教员,我所要做的事情是保证班级的电脑的正常使用。于是。。。悲惨的生活开始了,由于要拷贝课件,同学们的u盘是一个接着一个,电脑的运行也越来越慢,而修理它花费了我巨大的时间。这样过了一个学期,我学到了不少东西,懂得了 会有毒的东西一定会有毒, 没有绝对坚固的系统以及杀毒软件永远慢一拍的真理。也就是那会我学会了安装系统,使用ghost一键恢复~~O(∩_∩)O~这样工作就轻松多了。于是就开始买电脑方面的报刊和书来看了。。从开始的《网友世界》到《电脑爱好者》到《电脑报》,理论结合实践,一次次无情地把自己的当白鼠来用的前提下,慢慢地学习了很多新的知识,也越发让自己觉得自己知道的是那么地少了。但毋庸置疑的是我的搜商得到了极大程度的锻炼,在独立自主思考分析问题的前提下,通过搜索引擎学习知识,现在一般都能解决碰到的各种电脑上的问题。这让我坚信 google是最好的老师。总结地说,高中生活是十分有趣的,试验一个个电脑软件,练习穿墙术,体验Ubuntu,拆拆电脑,接触开源程序,玩得很开心~~

高考以后,我就报了现在学的专业,我想现在撇开那些无聊的基础课不谈,我能做做我喜欢做的事情了。
现在在大学的校园里,感觉和高中有很大的不同。个人认为上课已经不在是那么地重要了,更加重要的是自学的能力,或者说获取信息的能力,不知道我的认知是否出现偏差╭(╯^╰)╮。不过我相信自学能力的重要性是无可置疑的。本来想好大一的时候好好学习下php好做网站,奈何自控能力不足,玩游戏较多,导致学习效率不高,到现在还只会用开源软件的搭建网站,自己什么都不会写。。闷~。

到这里前二十年算是结束了吧。。

接着讲讲自己带点理想主义的规划。

这个暑假的话要多学习php,mysql,css确保放假回来能够接手广播台网站的建设,一边应用一边学习,要做得好的话以后就靠这个吃口饭吧。。
大二研究Python,c++太bt了,不利于我深刻理解编程思想,也没那么多开源软件可以用来学习,而Python对我而言是必学的一样东西,把Python学好,学精,我觉得是很有必要的。这有利于其它的编程语言的学习(要是不想学好编程就不报计算机了)。、同时还要学习关于管理和金融的知识。
大三的时候研究php的同时学习网络安全方面的知识,要保证自己成为的是专家而不是砖家。这个时候可以组几个人接项目去了,提高下自己的实践能力,为未来应聘增加些砝码。当然如果实践过程中发现队伍实力强的话将来一起创业也是个不错的选择。
大四开始实习,不准备考研了,我认为考研三年还不如奋斗个三年靠谱,考研出来过几年就30了,古人说三十而立,我可得给自己的奋斗留下足够的空间。所以要实习,和专业对口的实习,把理论投入实践,从实践获取经验。了解社会的规则,不过毕业以后的话工作和专业对不对口到不怎么重要了,毕竟工作会很难找,我相信自己还是有很大的跨行业发展潜力的~~
接下来就慢慢工作几年,积累点资本和经验,寻找机遇,有钱后去和哥们去开公司一起奋斗去,要是成的话最好,不成的话再继续奋斗,多折腾几年,要还是败了就认了,安安稳稳给人打工。。
这样至少以后老了回想起来不会有遗憾。

近况

最近一直在忙着看gae的应用方面的资料,建了几个代理,也建了这里的博客,貌似用起来还是挺简单的吧。目前水平也就只能是用用而已,打算放假了去学学Python~~好歹也做些贡献出来~·~
今天上了几节课,郁闷之极,小学开始就学配置outlook大学居然还学这个,一样东西学五遍!!郁闷啊,话说他还教电子邮件服务器的配置,弄个软件来直接装了用谁不会??估计下次的sniffer也是这样类型的课吧,算了,不想这个了。等下晚上争取把手头一本关于Ubuntu的书看完~然后想想自己的过去和现在吧。

总觉得大学怪怪的

最近总是觉得大学怪怪的,没什么东西好学,上了一个学期的课,都没学到什么东西,到了最后的生活,花几个礼拜时间自学一下就可以轻松通过考试了@ @。为什么要把短时间内能学完的东西花那么多的时间去学习呢?想不通啊,就像这次短学期,明明只有一点点的东西要学,要一定要把一帮人栓在学校浪费时间,中国的大学,失望了。以后还是自学吧,自学效率可比老师教好多了~~

第一篇文章

一番周折之后终于做好了这个博客,好歹能用了,还有些功能不会用,近期还会继续看看能不能用别的博客程序,不过可以肯定的是我会在gae安家啦。志同道合的朋友们交流经验,以提高自己实力~~O(∩_∩)O~