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成功开通)。

提交完成之后,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

上传成功就会看图下图界面:

上传成功后把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, 勾选所有项,导入。

附:浏览器设置方法

 

IE浏览器设置

IE有两种方式,分别为全部使用goagent代理和是pac自动代理 工具》Internet选项》连接,局域网用户单击局域网设置,宽带用户选择宽带连接之后单击设置

设置代理为127.0.0.1:8087,全部使用goagent代理

不使用时要将IE恢复无代理状态

使用PAC自动代理

谷歌chrome配合Proxy SwitchySharp拓展

  1. 安装拓展
  2. 导入设置

点击 Proxy SwitchySharp图标》选项》倒入/导出》
浏览到SwitchyOptions.bak,点击确定导入设置
单击地址栏右侧Proxy SwitchySharp图标即可进行模式选择

Firefox配合FoxyProxy扩展

安装扩展https://addons.mozilla.org/zh-cn/firefox/addon/foxyproxy-standard/

设置

右击foxyporxy图标即可选择代理模式

  1. Firefox配合AutoProxy扩展

    1. 安装扩展https://addons.mozilla.org/zh-cn/firefox/addon/autoproxy/
    2. 设置
    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的证书。

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

常见问题 FAQ

 

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

proxy.ini各项参数介绍

[listen]
#监听ip,如果需要允许局域网/公网使用,设为0.0.0.0即可,
ip = 127.0.0.1
#使用GAE服务端的默认8087端口,如有需要你可以修改成其他的  
port = 8087
#启动后goagent窗口是否可见,0为不可见(最小化至托盘),1为不最小化  
visible=0
#是否显示详细debug信息
debuginfo = 0   

#GAE服务端的配置
[gae]   
#你的Google app engine AppID,也就是服务器部署的APPID,配置多ID用|隔开
appid = appid1|appid2|appid3
#密码,默认为空,你可以在上传的wsgi.py设定,如果设定了,此处需要与wsgi,py保持一致
password =   
#服务端路径,一般不用修改,如果不懂也不要修改.
path = /2 
#使用哪个配置段的IP来连接服务器,cn/hk/ipv6可选
profile = google_cn  
crlf = 1
#是否在google_cn超时的情况下自动使用google_hk
autoswitch=1

#代理自动配置脚本(Proxy auto-config)设定
[pac]  
#是否启用,若启用,浏览器代理自动配置地址填http://127.0.0.1:8086/proxy.pac
enable = 0 
ip = 127.0.0.1
port = 8086
file = proxy.pac
#规则订阅地址
gfwlist = http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt 

#使用pass/php的配置
[paas]  
#是否启用
enable = 0 
#密码,默认为空,你可以在上传的Server设定,如果设定了,此处需要与Server保持一致
password = 123456 
#本地监听,表示监听本地的IP与端口,使用时浏览器地址设置为这里 
listen = 127.0.0.1:8088
#paas/php server的地址
fetchserver = https://app.com/  

#二级代理,一般内网会用到
[proxy]  
#是否启用
enable = 0    
#代理服务器地址
host = 10.64.1.63  
#代理服务器端口
port = 8080   
#代理服务器登录用户名
username = username
#密码  
password = 123456 

#GAE配置档 ,与这个有关profile = google_cn 
[google_cn]  
#使用http还是https(SSL加密传输)连接至GAE
mode = https  
#ip评优算法每次选出的ip数量
window = 2 
#用来连接的GAE服务器IP,可自己修改为可用IP
hosts = 203.208.47.1|203.208.47.2|203.208.47.3|203.208.47.4|203.208.47.5|203.208.47.6|203.208.47.7|203.208.47.8  
#对应的域名匹配的会使用hosts方式直连而不通过GAE代理(仅限谷歌旗下域名)
sites = .google.com|.googleusercontent.com|.googleapis.com|.google-analytics.com|.googlecode.com|.google.com.hk|.appspot.com|.android.com|.googlegroups.com   
#强制跳转到https的网站
forcehttps = groups.google.com|code.google.com|mail.google.com|docs.google.com|profiles.google.com|developer.android.com  
#满足sites但仍通过GAE的地址,若某一满足sites段的地址无法访问,可加入withgae
withgae = www.google.com/imgres|www.google.com.hk/imgres|translate.googleapis.com|plus.url.google.com|plus.google.com|plusone.google.com|reader.googleusercontent.com|music.google.com|apis.google.com|feedproxy.google.com|books.google.com|autoproxy-gfwlist.googlecode.com

#(同上)
[google_hk] 
mode = https
window = 4 
#goagent自动解析以下域名的IP并将获得的IP加入用于连接GAE服务器的IP组
hosts = www.google.com|mail.google.com|www.google.com.hk|www.google.com.tw
sites = .google.com|.googleusercontent.com|.googleapis.com|.google-analytics.com|.googlecode.com|.google.com.hk|.googlegroups.com
forcehttps = www.google.com|groups.google.com|code.google.com|mail.google.com|docs.google.com|profiles.google.com|developer.android.com|www.google.com.hk|webcache.googleusercontent.com
withgae = feedproxy.google.com

#(IPV6,同上,只是IP地址以IPV6形式)
[google_ipv6]
mode = http
hosts = 2404:6800:8005::2f|2a00:1450:8006::30|2404:6800:8005::84
sites = .google.com|.googleusercontent.com|.googleapis.com|.google-analytics.com|.googlecode.com|.google.com.hk|.googlegroups.com
forcehttps = groups.google.com|code.google.com|mail.google.com|docs.google.com|profiles.google.com|developer.android.com
withgae =

[autorange]
#匹配以下域名时自动下载
hosts = .youtube.com|.atm.youku.com|.googlevideo.com|av.vimeo.com|smile-*.nicovideo.jp|video.*.fbcdn.net|s*.last.fm|x*.last.fm
#线程数
threads = 2  
#一次最大下载量
maxsize = 1048576   
#首次读写量
waitsize = 524288   
#后续读写量
bufsize = 8192      

#youtube无法看直播可以尝试启用,目前似乎已失效,没详细测试
[crlf]     
enable = 0
dns = 8.8.8.8
sites = .youtube.com|.ytimg.com

[socks5]    
enable = 0
password = 123456
listen = 127.0.0.1:8089
fetchserver = https://phus/

#模拟用户浏览器类型,在User-Agent里提交给服务器你的浏览器操作系统等信息
[useragent]  
#是否启用
enable = 0 
#可自行修改的,前提是你知道怎么改
string = Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3   

[fetchmax]  
local =                 
server =                 

#不用理会,显示在控制台上方的公益广告
[love]   
#不愿意看到这广告就把1改成0
enable = 1  
timestamp = 1347983481
tip = \u8bf7\u5173\u6ce8\u5317\u4eac\u5931\u5b66\u513f\u7ae5~~

#内置hosts,语法为:域名 = ip,注意:与系统hosts语法不同.
[hosts]   
www.localhost.com = 127.0.0.1

来源:https://code.google.com/p/goagent/w/list

About 智足者富

http://chenpeng.info

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>