本文引用了来自为了明天:翻墙利器——GAppProxy安装简明教程里的图文,在此表示感谢!

这里是hyk-proxy的项目主页。

3月31日更新:hyk-proxy已经支持ipv6访问,只需到此处7楼下载作者放出的client.jar覆盖即可,保证Hosts里有如下字句

1
2404:6800:8005::8d XXX.appspot.com

其中XXX 为你搭建的 appspot 站点域名。以下是搭建步骤:

  1. 首先要注册Google App Engine,用google的账号登录之后点击Create an Application
    ](https://t6qh0q.blu.livefilestore.com/y1m4QstzRxHIml5u6UKqf-8PX2jKIyTa9mzrTw9e189Ekzdq5O4FIDHhO0CymiDpc-c65y1f2d-iQ316CORRt1doiJRqXtc3vgfH05hXuMWOurd0A_OmzJSwrxAMuuH78o9RSo84iQXrkg/1.jpg)

  2. 输入你的手机号码
    ](https://t6qh0q.blu.livefilestore.com/y1m0AYkFg4kbSYdIOk4B2juuXnMcv4_TXh3iDgit09TLyPiG5ldma-1lesQvP4CbJOjSMBtMbZy1zSqdyn4NI3jIfvWtNbAb73DvYK-vn8pm47Y0jqRw-jo-bknRCYhZT32sakVareozWA/2.jpg)

  3. 输入手机收到的验证码到达如下图的界面
    ](https://t6qh0q.blu.livefilestore.com/y1meC25x6kmh8X7VMTfgkJ4SKV_yLVYNV_Q_gxuwSIbxZd1uxsE-xta-Mb1fiK-FP2ydRR3fXbQmKRToTJjivJMCqLlieue2YIf9-2gYUMpsMIQCsgRg25BTb08yEcmulmpiDfOl2TEc40/3.jpg)

填写Application Identifier,这个就是你GAE的地址了,你需要记住这个地址(如输入aaa,那么相应会得到一个aaa.appspot.com的域名)

填写Application Title,这个标题随意填写也可以 填写完毕之后勾选同意服务条款,点Save即完成创建。

  1. 下载安装Java Runtime。 如果你已经安装并且版本在6以上,请跳过。

  2. 下载安装 Google App Engine for Java。 并解压备用。如果你已经安装,请跳过。

  3. 项目主页下载hyk-proxy-clienthyk-proxy-server ,project可以不用下

  4. 解压下载的server压缩文件,进入war/WEB-INF,用记事本打开appengine-web.xml,将后面的hyk-proxy-demo改为自己创建的appid。也就是3)中的Application Identifier

  5. 将下列内容修改后用记事本保存为 update.cmd

    1
    2
    3
    Set app_path="%PATH%\hyk-proxy\hyk-proxy-server-0.3.0\war" ’%PATH%改成对应的地址 
    Set sdk_appcfg="%PATH%\appengine-java-sdk-1.3.1\bin\appcfg.cmd" ’%PATH%改为对应的地址
    cmd /k %sdk_appcfg% rollback %app_path%cmd /k %sdk_appcfg% update %app_path%
  6. 运行update.cmd上传,输入你的帐号和密码(密码默认不显示)

  7. 解压client,修改etc/hyk-proxy-client.propertiesremoteserver.appid.1=后面为你申请的appid(不是aaa.appspot.com网址!),如aaa;如果你还有很多个上传了hyk-proxy server的appid ,依次添加remoteserver.appid.2=bbb ….

  8. 执行bin文件夹里面的start.bat 运行代理,stop.bat为关闭代理。如果看到 Found 1 Remote Server 则说明成功,如果有错误提示,请参考下面的排错提示。

  9. 将你的火狐代理地址设置为localhost:48100 即可。

排错提示:

  1. 如果出现can’t implement com.hyk. …. 检查一下是不是hosts里设置了你的appid.appspot.com 对应的强制ipv6解析,如果是,删除该行即可。

  2. 上传时出现io错误的,请将 cmd /k %sdk_appcfg% rollback %app_path% 添加到update.cmd 的原有位置。

对比说明:

  1. 与Gappproxy的区别

    1. 个人在北方教育网试用表明和Gappproxy的速度差别不大,最大的优势是hyk-proxy支持轮询,真正利用多个appid的流量。Gappproxy尽管有center项目,但本质上一个进程还是只能使用单个id。
    2. 作者 @yinqiwen 在不断更新,Gappproxy似乎已经停止更新了。
    3. 支持XMPP协议。XMPP是一种IM协议,也称为Jabber,通信过程使用SASL与TLS/SSL加密。使用XMPP协议的IM有:GTalk, Nokia’s Ovi等。http://goo.gl/Tie0,可以通过某些Jabber服务器连接MSN,QQ等的IM。
  2. 对https的支持 hyk-proxy对https的支持和gappproxy差不多,也是基于自签名证书去「欺骗」站点,用火狐访问https时请添加安全例外。在http模式下,hyk-proxy不会以明文发送。

建议: 由于hyk-proxy无法支持纯ipv6访问(作者说java支持,可能是我的强制解析错了,但是我的gappproxy是可以用的),所以hyk-proxy在教育网使用仍有风险,推荐还是不要完全抛弃gappproxy,当然,也希望后来的版本能解决这个问题。