goagent GAE平台部署教程

168 views
Skip to first unread message

道尔顿学院中文课程组

unread,
Jan 7, 2013, 8:40:32 PM1/7/13
to pkuin...@googlegroups.com

goagent GAE平台部署教程

一、申请Google Appengine并创建appid

  1. 申请注册一个Google App Engine账号https://appengine.google.com。没有Gmail账号先注册一个, 用你的Gmaill账号登录。
  2. 登录之后,自动转向Application注册页面,如下图:
  3. 接下来的页面,输入你的手机号码,需要注意的是,手机号码前面要+86 格式如:+86 13888888888
    • 然后等待收取手机短信,收到短信后(一串数字号码)填入下图表单,点send提交.(有的手机收不到信息,到https://appengine.google.com/waitlist/sms_issues 提交该情况,一个工作日就能收到谷歌提示Google App Engine成功开通)。
  4. 提交完成之后,GAE账号即被激活,然后就可以创建新的应用程序了。转入“My Applications”页面,点击“Create an Application”新建应用
    • 一个Gmail账户最多可以创建十个GAE应用。这里我们只创建一个应用就可以了。进入下一步,填写新应用的必要信息,如下图:
    • 在上图中第一处添加一个应用名称,如abc555验证一下是否可用,如果显示“Yes”那么abc555就是你的Appid(记住这个id),而abc555 .appspoft.com就是你的应用服务器地址了。第二个空可随便填,点击提交按钮,如果能看到下图这个页面,就说明你成功创建了一个新的应用,你也可以点击应用名称,进入控制面板进行管理。
    • 如果你要建立多次appid,只需要从步骤4开始再弄一遍就行了。

二、下载goagent并上传至Google App Engine

  1. 下载goagent并解压,https://code.google.com/p/goagent/
  2. 上传
    • Windows用户:双击server文件夹下的upload.bat,输入你上步创建的appid(若要同时上传多appid在appid之间用|隔开)和你的Gmail帐号和密码(如果开启了两步验证,密码为16位的应用程序专用密码)
    • Linux/Mac用户上传方法:在server目录下执行
    • python uploader.zip
      • 如遇到getaddrinfo failed,error10054等错误而不能上传,可以先运行goagent.exe(要先修改appid)并把IE代理设置为127.0.0.1:8087再运行uploader.bat
      • 要使用IPv6上传或者上传遇到11004错误可以按照此贴进行修改或者下载这个已经修改好的uploader.zip文件覆盖原uploader.zip文件
      • 上传成功就会看图下图界面
  3. 上传成功后把local\proxy.ini中的appid = goagent中的goagent 改成你已经上传的应用的appid (用windows的记事本也可以)
    • 多appid用|隔开,如:appid1|appid2|appid3
    • [gae]
      appid
      = appid1|appid2|appid3

三、运行客户端

  1. Windows用户运行local文件夹中的goagent.exe ﹡Linux/Mac用户运行 proxy.py
    • 设置浏览器或其他需要代理的程序代理地址为127.0.0.1:8087
    • 注意:使用过程中要一直运行goagent.exe/proxy.py
    • 代理地址127.0.0.1:8087;如需使用PAC,设置pac地址为http://127.0.0.1:8086/proxy.pac;也可以配合SwitchySharp/AutoProxy等浏览器扩展(SwitchySharp用户可从local文件夹中的SwitchyOptions.bak文件导入配置)pac是什么?
  2. 导入证书
    • 使用管理员身份运行goagent.exe会自动向系统导入IE/Chrome的证书,你也可以双击local文件夹中的CA.crt安装证书;Firefox需要单独导入证书,打开FireFox?->选项->高级->加密->查看证书->证书机构->导入证书, 选择local\ca.crt, 勾选所有项,导入。

﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎

附:浏览器设置方法

  1. IE浏览器设置

  2. IE有两种方式,分别为全部使用goagent代理和是pac自动代理 工具》Internet选项》连接,局域网用户单击局域网设置,宽带用户选择宽带连接之后单击设置
    1. 设置代理为127.0.0.1:8087,全部使用goagent代理
      • 不使用时要将IE恢复无代理状态
    2. 使用PAC自动代理
  3. 谷歌chrome配合Proxy SwitchySharp拓展

    1. 安装拓展
    2. 导入设置
      • 点击 Proxy SwitchySharp图标》选项》倒入/导出》
      • 浏览到SwitchyOptions.bak,点击确定导入设置
      • 更新自动切换规则(先运行goagent再更新规则)
        • 在拓展设置页点击“切换规则”,点击“立即更新列表”,最后点击“保存”。
      • 单击地址栏右侧Proxy SwitchySharp图标即可进行模式选择
        1. GoAgent模式 除匹配proxy.ini中sites的外,全部通过GAE
        2. GoAgent PAAS模式 全部通过PAAS
        3. GoAgent Socks5模式 全部通过Socks5
        4. 自动切换模式 根据切换规则自动选择是否进行代理,自动选择使用何种代理
        • 遇到规则中没有的,可以使用拓展的“新建规则”按钮自行添加
  4. Firefox配合FoxyProxy扩展

    1. 安装扩展https://addons.mozilla.org/zh-cn/firefox/addon/foxyproxy-standard/
    2. 设置
      • 右击foxyporxy图标即可选择代理模式
  5. Firefox配合AutoProxy扩展

    1. 安装扩展https://addons.mozilla.org/zh-cn/firefox/addon/autoproxy/
    2. 设置
      1. 添加代理服务器
      2. 添加规则订阅
      3. 选择自己需要的模式
        1. 自动模式 根据规则自行选择是否使用代理
        2. 全局模式 全部使用代理
        3. 禁用代理 全部不使用代理
    3. 或者直接使用已安装好autoproxy的Firefox便携版本:下载

﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎

goagent适用环境

  • 适用:浏览器,支持http代理的下载软件等
  • 不适用:游戏客户端等需要稳定网络的程序,QQ,tor(验证证书)。待添加。。。

关于软件更新

  • 更新历史中带有[是]则需要重新上传,否则不用重新上传。注意:是否需要重新上传是相对于前一版的,若你之前版本与当前版本之间某一版或多版带有[是]仍然需要重新上传。
  • goagent每一版下载的都是全部文件,你可以选择覆盖原文件或者将新版放另一个文件夹,旧版你可以选择留存或者删除,修改新版proxy.ini中相关设置即可运行。如果旧版添加了开机启动,需要将旧开机启动删除。如果旧版已经在运行,需先将旧版关闭。
  • 如果之前版本没有ssl错误,使用新版出现ssl错误可以把原来的ca.cer、ca.key和certs文件夹内的文件覆盖当前的这些文件。或者将ca.cer、ca.key和certs文件夹内的文件全部删除,同时删除浏览器中所有goagent ca的证书,再重启goagent,会生成新证书,再导入新证书即可。浏览器证书中只能有一个goagent ca的证书。

﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎﹎

道尔顿学院中文课程组

unread,
Jan 7, 2013, 8:41:19 PM1/7/13
to pkuin...@googlegroups.com, pkuin...@googlegroups.com

简易教程 InstallGuide

常见问题 FAQ

  1. goagent是什么?
  2. 是否每次更新都要重新上传?
    • 更新历史中带有[是]则需要重新上传,否则不用重新上传。注意:是否需要重新上传是相对于前一版的,若你之前版本与当前版本之间某一版或多版带有[是]仍然需要重新上传。
  1. 遇到FAQ没有解决问题怎么办?
    • 首先请更新客户端和服务端到最新版(见首页),如果还有问题的话请到https://code.google.com/p/goagent/issues/list 提出issue。提issue前建议先搜索下看是否是重复的问题,请尽量描述问题产生的原因,配置情况,网络情况等,这样有助于重现问题并解决。虽然我们可能顾不上回答,但是我们保证每个issue都会看的并尝试解决的。
  2. 用goagent访问twitter,自动跳转为mobile.twitter并返回403 Forbidden。
    • 检查查自己的id是不是以android开头或者apple,iphone啥的开头的了,参见  Issue 7634 
  3. google reader提示404错误?
  4. 在 Linux/Mac 下如何安装 gevent?
  5. youtube不能上传以及看直播?
  6. 提示Error code 502错误怎么办?
    • 401: Unauthorized 一般是你处于内网环境中,需要设置proxy.ini里面的proxy段落
    • 404: Not Found 一般是proxy.ini里面appid没有填对,或者服务端没有部署成功。
    • 503: Service Unavailable 一般是流量用完了,请更换appid
  7. uploader上传失败?
    • 400: Bad Request 到https://appengine.google.com新建一个新的appid再上传。
    • 404: Not Found 对应的appid没有创建。
    • 10060 连接服务器超时,建议挂VPN后再上传
    • 10054 连接被重置,建议挂VPN后再上传
  8. 听说goagent保密性比较弱,如何加强?
    • 下载最新版的客户端,编辑proxy.ini的google_cn google_hk域,mode=https即可.速度也相应变慢,呵呵。
  9. 最新版在哪下载?如何在旧版本上更新新版本?
    • 还是直接到首页下载,那个链接永远是最新版。旧版本不用管,直接编辑新版的proxy.ini里面的appid即可。
  10. 我是Mac/Linux用户怎么办?
    • 上传完服务端并设置好proxy.ini之后,在终端直接运行python proxy.py即可。需要Python版本2.7以上。Mac用户可以尝试 GoAgent Mac GUI 或者GoAgentX BreakWall
  11. Linux/Mac如何上传服务端?
    • 在server目录下运行"python uploader.zip"(没有引号),如果要上传python服务端的话,在server目录下运行"uploaddir=python python uploader.zip"(没有引号) 或者尝试GoAgentX以及BreakWall
  12. 支持多个appid做负载平衡吗?
    • 目前goagent最新版是支持的,在proxy.ini中的[gae]项目下这样配置即可appid=id1|id2|id3
  13. 配置多appid有什么用?
    • 最新版的GAE服务端已经是python27,所以多appid现在只是起到增加流量配额的作用。提高并发的作用已经被GAE内置的功能取代了。
  14. GAE在2011-09-01推出了新版的收费计划,如何规避?
    • 使用goagent 1.6以上版本的服务端。
  15. 如何使用php模式?
    1. 申请一个免费的php空间,然后通过在线代码编辑器或者ftp客户端把index.php上传到你申请到php网站的根目录。假设为http://goagent.php.com/index.php
    2. 访问你的index.php地址,比如http://goagent.php.com/fetch.php,如果没有问题的话,说明部署成功。
    3. 编辑proxy.ini[paas]项目, enable=1 isphp=1和fetchserver=你的index.php地址,重启goagent.exe即可。
    4. 图文教程请见http://ishare.cn.ms/archives/552
  16. 如何设为系统服务(开机自启动)?
    • 双击addto-startup.vbs即可。
  17. goagent支持IPv6网络吗?
    • 支持的。profile=google_ipv6即可。
  18. 为什么goagent第一次运行需要管理员权限?
    • 因为goagent会尝试调用certmgr.exe向系统导入IE/Chrome的证书,这需要管理员权限。
  19. 为什么要导入goagent的证书?
    • 因为GAE平台限制,没法支持真正的ssl加密,goagent只能通过伪造证书的方式做到代理ssl加密的网站,这个证书就是用来欺骗浏览器的。参见 Issue 8031
  20. Firefox怎么不能登陆twitter/facebook等网站, Firefox如何导入证书?
    • 打开FireFox->选项->高级->加密->查看证书->证书机构->导入证书, 选择local\ca.crt, 勾选所有项,导入。
  21. Chrome下如何使用goagent?
  22. 需要装Python或者Google Appenginge SDK后才能用goagent吗?
    • 完全不用,goagent是绿色软件哦。
  23. goagent原理是什么?
  24. 支持gfwlist么?
    • 这个问题考虑过,但是还是放弃了。goagent需要保持简单快速,支持gfwlist请使用foxyproxy/autoproxy/switchysharp。
  25. 如何防止goagent被匿名使用(盗用)?
    • 目前goagent最新版是支持的,注意:本功能不会影响网速,请放心使用。
      • 详细设置方法
      • golang版本(目前暂时没有该版本可用):server\golang\fetch.go中const段落开头修改Password = "123456",重新上传fetch.go,然后在proxy.ini中的gae项目下这样配置即可password = 123456,即可。
      • python版本:先在server\python\wsgi.py和wsgi_old.py文件中开头修改__password__ = '123456',重新上传wsgi.py,然后在proxy.ini中的gae项目下这样配置即可password = 123456,即可。
  26. 怎样设置不显示气泡提示?
    • 用reshack/exescope等资源编辑工具把气泡提示字符串清空即可。
  27. 如何删除appengine.google.com上老的appid?
  28. 如何得到goagent的源代码?
    • goagent的代码和程序是一起的,源代码就是运行程序。
  29. MultiplexConnection Cannot hosts错误?
    • 看起来你的ISP封锁了google.cn,请尝试profile=google_hk这个选项,如果还不行,换PHP模式吧。
  30. 如何对goagent进行修改?
    • 客户端代码直接改local/proxy.py,改完重启goagent.exe即可;服务端改server/wsgi.py,改完用uploader.bat上传即可。
  31. 为什么要叫goagent,而不叫GoProxy?
    • 一开始叫GoProxy的,后来Hewig说软件名字带有proxy字样不祥,于是就改成了goagent。

更新历史 2012

  • [1221否]goagent 2.1.9-55(2.1.10dev)发布,正在开发公测中,请各位踊跃参与,详见更新记录。(仍然可以使用goagent 2.1.3服务端),linux用户请使用python2.7版本(不支持python3系列版本)
  • [1113 否] 随机化 ip 排序
  • [1111 否] 2.1.9正式版,加入ip速度检测(可能需要启动后运行一段时间才能稳定)
  • [1109 否] 2.1.8正式版,调优连接函数和域名解析
  • [1102 否] 2.1.7正式版,二次复用空闲的 https 连接, 比较明显提高 google_hk 速度, 修复uploader错误
  • [1102 否] 2.1.6正式版,修复 google 连接断开错误以及跳转白屏的问题, 详见http://it.solidot.org/article.pl?sid=12/10/31/0510237
  • [1031 否] 升级打包的gevent版本到1.0rc, 调优连接函数。
  • [1028 否] 修复2.x版本的二级代理问题和其他问题。
  • [1025 否] 调整 cn/hk 选择机制,默认mode=https。
  • [1024 是] 修复 php/paas 模式, GAE端向前兼容1.x/2.0.x协议(需重新上传服务端)。
  • [1023 是] 2.1.0 测试版, 智能判断 cn/hk 选择, 使用二进制协议, 请务必重传 GAE 服务端后使用。
  • [1022 否] 重新配置proxy.ini中的google_cn/google_hk设置
  • [1003 是] goagent 2.0.13 发布, 添加robots.txt防止搜索引擎收录, 客户端proxy.pac能够自动升级了.
  • [1002 是] goagent 2.0.12 发布, 优化proxy.ini的google_hk默认配置, wsgi.py支持设置 deny hosts.
  • [1001 否] goagent 2.0.11 发布, 兼容没有安装 gevent 环境。修复 NoneType object is not iterable 错误
  • [0930 否] goagent 2.0.9 发布,修复证书问题google_ipv6 不能使用的BUG 修复pac模式
  • [0929 是] goagent 2.0.8 发布, 请务必使用uploader重新上传 BUG 修复 用 gevent 重写客户端,多线程rangefetch
  • [0919 ] goagent 2.0.6 发布 加入 goagent-gtk.py 脚本,linux 下也可以使用 goagent 托盘图标了
  • [0831] goagent 2.0.5 发布, http://goo.gl/sxgfB (请务必使用uploader重新上传),修复youtube html5不能快进,针对长域名生成'*'证书,php支持password验证。
  • [0830] goagent 2.0.4 发布,修复IMetroTwit不能登录的问题和企业内网总是跳转google的问题。
  • [0829] goagent 2.0.3 正式版发布,修复ISP的广告注入。
  • [0825 是] goagent 2.0.2 正式版发布:1.重写协议 2.提高普通网页加载速度 3.优化视频网站兼容性(youku/tudou/sina/acfun/bilibili) 4.优化 PAAS
  • [0825 是] 2.0.2正式版发布,优化视频。
  • [0821 是] 2.0.1测试版发布,重写协议,优化网站兼容性。
  • [0610 是] 1.9.1a1 测试版,优化独立主机上的 wsgi.py 服务端功能(需gevent支持),完整的 http 代理功能,理论上快于ssh。
  • [0608 否] 1.8.10版本,修复在ipv6环境下使用hk模式不稳定的问题,推荐更新。
  • [0605 否] 1.8.9版本,向前兼容proxy.ini文件。
  • [0604 是] 1.8.8发布,优化DNS部分,修复PAAS大文件下载问题。
  • [0530 否] 1.8.7测试版,把 PHP 改名为 PAAS。
  • [0518 是] 1.8.6发布,GAE/PHP服务端优化,建议重新上传。客户端尝试忽略失效的hosts文件。
  • [0506 是]去除python服务端对GAE的特定依赖,好处是速度有所提升,并且可以部署到其他平台或主机上。(主机环境使用需安装gevent)
  • [0426 否]1.8.4发布。把fetch.php改名。
  • [0418 是]1.8.3发布。bug修复。重新打包proxy.exe和uploader.zip
  • [0416 否]1.8.2稳定版发布。优化google_hk策略.
  • [0412 是]1.8.1稳定版发布。1.优化pac文件 2.兼容youku视频/qq电台/douban电台
  • [0405 是]1.8.0稳定版发布。主要包含以下改进: golang版本复活;SSL证书优化;为mobile端提供pac文件;客户端性能优化;客户端和服务端的bug修复;fetch.php支持大多数PaaS平台;更友好的uploader程序
  • [0115 否] 多PHP服务端支持,修复某些论坛不能登陆,网页载入性能优化,使用python26/psyco重新打包proxy.exe
  • [0104 否] 感谢@mqlapz提供的OpenWRT教程
  • [0101 GAE是] 修复观看youtube的html5版本不能快进和youtube有时断流的两个bug。

更新历史 2011

路线图 Roadmap

  • 2011年7月发布1.0 final版本
  • 支持ntlm认证
  • 支持iOS
  • 支持php服务端
  • 加密传输
  • 完美支持nicovideo.jp
  • 完善php fetch, 支持大部分网盘(部分完成,有待更多测试反馈)
  • 增强uploader功能
  • 支持WebOS
  • 发布go语言编写的GAE服务端
  • 支持OpenWRT
  • 多线程rangefetch
  • 支持大文件上传
  • 完美支持ntlm
  • 提示升级功能
  • 支持Ironpython(WP7.5)
Reply all
Reply to author
Forward
0 new messages