基于Google AppEngine平台hyk-proxy搭建和本地配置&hyk-proxy的PHP模式

2011年5月9日 | 分类: 翻墙利器 | 标签: , ,

在现代中国科学史上,有一项伟大的发明叫做G_F_W,G_F_W可以通过各种方式进行屏蔽,包括封锁IP地址,DNS污染、端口封锁等方式,代表 了我党在内容控制领域的最高成就。我们生活在一个名叫全球互联网的大局域网里面,就像我们生活在一个名叫河蟹社会的腐败社会里面一样。全民翻墙吧。

hyk-proxy原理

hyk-proxy分为两部分,一部分运行于远程server上,如GAE/Seattle/PHP Web Space,属于remote server;另一部分运行于本地,属于local server,实质为一个中转的http server。

一次 web访问经过此代理的完整过程如下:

Browser<-->Local Server<-->Remote Server<-->Real Web Server

其中Local Server与Remote Server之间属于通信层部分,不局限于HTTP连接;如GAE Remote Server由于防火墙原因无法直接通过HTTP连接,可采用XMPP模式穿越。无敌。

hyk-proxy环境

  1. JRE/JDK 1.6+
  2. Google App Engine SDK(Java) (最新版本)
  3. 创建自己的GAE应用 http://appengine.google.com/ (必须)

部署Remote Server

下载源代码http://code.google.com/p/hyk-proxy/downloads/list,两个个客户端一个服务器,客户端有一个是安装包,随你喜欢用哪个,都一样的。

上传服务器:appcfgwrapper安装程序已经集成到hyk-proxy-gae-server-[version].zip中,执行install.bat/install.sh即可,具体请参考此项目说明 http://code.google.com/p/appcfgwrapper/,上传后在https://appengine.google.com/进入ApplicatioID

例如:hykproxy.appspot.com,浏览该域名可以看到

可以浏览这个页面说明服务器配置成功,下一步点击admin进去可以看到有一个以ROOT管理员权限的账户和密码,记下。就不截图了

例如是用户名:root;密码ABCD,下面再配置;

命令行配置客户端

解压hyk-proxy-[version].zip,配置Framework

Framework的配置仅有两三项,具体涉及proxy的配置均在相应plugin的配置中;目前均在etc/hyk-proxy-conf.xml中(GUI启动则在Config对话框中配置),简要说明如下:

<localserver host="localhost" port="48100" />

这一项记下,最后修改浏览器的代理。

<proxyEventServiceFactory>GAE</proxyEventServiceFactory>默认选择的proxy实现,若安装了其他的plugin,则可以在此修改为其它的proxy实现。

基于GAE实现大部分配置均在hyk-proxy-gae-conf.xml中(GUI启动则在GAE plugin的相应Config对话框中配置),简要说明如下:

  <hyk-proxy-server appid=”” /> 为已部署的ApplicationID, 即<appid>.appspot.com中<appid>,

例如:

<hyk-proxy-server appid=”hykproxy” />

<hyk-proxy-server appid=”” />可配置多个,此情况下, 代理过程中采用轮询策略选择, eg:

<hyk-proxy-server appid=”hykproxy ” />
<hyk-proxy-server appid=”hykproxy2″ />

  <hyk-proxy-server appid=”” /> 中可以配置用户名/密码,

例如:<hyk-proxy-server appid=”hyk-proxy-demo” user=”root” passwd=”ABCD”/>

这个也可以在命令行登录打开hyk-proxy-0.9.2\bin\admin.bat

输入3回车,然后输入appid和密码。

客户端基本配置完毕。

打开\hyk-proxy-0.9.2\bin中的star.bat运行

 

成功!

IE如图配置

 

火狐可以利用插件AutoProxy实现自动代理。

 

代理用自动模式就好,比IE快很多,因为IE这样设置代理是属于全局模式。

hyk-proxy的PHP模式

hyk-proxy目前支持的四种默认内部proxy模式比较

HTTP2GAE/HTTPS2GAE:由于服务器的先天优势,在性能上相比其它方式占有绝对优势;不足则在于严重依赖GAE/Google的服务直连可达情况

XMPP2GAE:由于是绕道XMPP服务,所以HTTP模式的不足在这里是不存在的;此外,由于这里默认是SSL加密通讯,通讯安全性更强;由于前面所说的原因,在速度上较HTTP有所欠缺

Seattle:Seattle是另一个云计算服务,在编程模型上的限制较GAE以及PHP远少,所以可以按照标准模式实现HTTPS的 proxy(没有证书问题),以及没有GAE的一些固有限制情况下(GAE的固有限制看这里);当然,其弱势在于Seattle服务的稳定性以及 Seattle服务器的带宽性能

PHP:基于PHP的实现相对于GAE的优势在于限制较少,以及在满足特定条件下可以实现完整https tunnel;相对于Seattle的优势在于服务的稳定性以及较快的带宽

XMPP我也搭建过,GAE被墙的时候本以为可以用绕道服务,但和官方说的有点出入。

PHP需要一个很好的PHP空间,只要空间够快,看youtube是完全没有问题的。

首先安装此插件

然后上传X:\hyk-proxy-(版本号)\plugins\phptunnel\deploy\tunnel.php到你的php空间,成功后访问域名可看到

表示已经上传成功,服务器已经在工作了。

本地配置

首先打开X:\hyk-proxy-(版本号)\plugins\phptunnel\etc\phptunnel.conf

#The Tunnel Server Port
LocalTunnelPort=4810

#List your PHP page urls below
http://tunnel..com      #这里填写你PHP服务器的域名

 

然后打开HYK,选择PHP模式;

然后安装此插件,我推荐用GUI方式;

重启hyk-proxy即可;

这样服务器就搭建完毕。PHP模式可以在GAE被墙的时候用。也可添加多账户轮番代理。

 

来源http://jieyujing.host22.com/?p=34http://jieyujing.host22.com/?p=59

  1. iGFW
    2011年5月18日16:26

    仍然继续呀!
    你确认你浏览证书没有问题吧

  2. Miller
    2011年5月18日13:35

    在部署Remote Server环节中,上传服务器后,点击admin,出现“此链接是不受信任的”,该怎么办呢?

  3. AS
    2011年5月16日20:43

    typhoonae – Typhoon App Engine – Google Project Hosting
    https://code.google.com/p/typhoonae/
    “The TyphoonAE project aims at providing a full-featured and productive serving environment to run Google App Engine (Python) applications. It delivers the parts for building your own scalable App Engine while staying compatible with Google’s API.
    Important note: The current development status is beta. At this point it is not guaranteed that any GAE application will run completely error-free on TyphoonAE. So, stay patient please!
    See the Release Notes for information on the current release and the Product Roadmap for further details on planned features.
    Demo
    We have installed three demos on a single TyphoonAE instance running in a virtual XEN environment:
    Bloggart
    Web Socket Hybrid Demo (using Web Socket API)
    Trivia Quiz I/O Demo (using Channel API)
    Any feedback is appreciated! Feel free to join our discussion group for TyphoonAE. Follow us on Twitter to just keep informed.
    Architecture Overview
    Click the image below for a PDF version.
    …….
    The Stack

    Google App Engine SDK http://code.google.com/appengine

    Supported Datastore Backends
    MongoDB http://www.mongodb.org
    MySQL http://www.mysql.com
    Berkeley DB JE – http://arachnid.github.com/bdbdatastore
    It should be fairly achievable to implement an appropriate API proxy stub for HBase support. Don’t hesitate to ask the TAE project members for details.
    HTTP Server via FastCGI
    NGINX http://nginx.net/
    Apache2 http://httpd.apache.org/
    FastCGI http://www.fastcgi.com
    Memcache
    memcached http://memcached.org
    Task Queue / Messaging
    RabbitMQ – http://www.rabbitmq.com
    ejabberd – http://www.process-one.net/en/ejabberd
    Web Sockets (TyphoonAE only)
    Tornado – http://www.tornadoweb.org
    Supervisor
    Supervisor http://supervisord.org
    All these components will be automatically installed by zc.buildout into an isolated directory tree on your development machine. If you want to remove the TyphoonAE development environment you just have to delete this single directory.
    For some good reasons why using zc.buildout you may want to read this post or watch this talk.
    The configuration above is tested on OS X, Debian and Ubuntu Linux. Several parts can be replaced by editing the buildout.cfg file. But you should really know what you’re doing.
    PyPI
    http://pypi.python.org/pypi/typhoonae
    Resources
    David Rousseau shows on Google App Engine as a Framework how to install TyphoonAE on Ubuntu.”
    Downloads – typhoonae – Typhoon App Engine – Google Project Hosting
    https://code.google.com/p/typhoonae/downloads/list

    翻墙利器