这几天在家里需要去谷歌查些资料,也需要访问github,发现经常访问不了,知道可能是被GFW墙了。一般来说需要找个代理服务器,但是一来麻烦,要到处找论坛问,二来找的代理服务器有时候也会出现访问不了的情况。当然,如果是米人,花钱买个×××就搞定了,也可以忽略下文。

        首先在网上找解决方案:发现有一些goagent+firefox+autoproxy的文章,或者firefox+autoproxy的文章,细细一读,再加上自己一些尝试,发现有些论述已经不适用或者是错误的说法。经过自己的尝试,终于成功访问外网,遂记录之,共享给其他有需要的朋友。

        goagent是什么?goagent是利用Google App Engine平台的一个搭建在本地的proxy,这个是必须要的。autoproxy是firefox的一个管理proxy servers,设置proxy规则的addon,以前鼎鼎有名,因为可以订阅gfwlist,但是现在经过验证,已经不能在新版的firefox使用了。这里推荐一下功能相同的addon---foxyproxy,并且goagent官网主页的教程也是用foxyproxy的,挺好用,但是这个不是访问外网必须的,只能说有它了,访问网页更加方便智能。

        其实goagent官网有个教程https://code.google.com/p/goagent/wiki/InstallGuide,只是在不能访问外网前估计打不开,这里摘抄关键部分转贴如下:

===================================================华丽丽的分割线======================================

一、申请Google App Engine并创建appid

  1. 申请注册一个Google App Engine账号https://appengine.google.com。没有Gmail账号先注册一个, 用你的Gmaill账号登录。

    如何访问外网---用goagent设置自己的proxy_第1张图片

  2. 登录之后,自动转向Application注册页面,如下图:
    如何访问外网---用goagent设置自己的proxy_第2张图片

  3. 接下来的页面,输入你的手机号码,需要注意的是,手机号码前面要+86(中国区号) 格式如:+86 13888888888。
    如何访问外网---用goagent设置自己的proxy_第3张图片
    然后等待收取手机短信,收到短信后(一串数字号码)填入下图表单,点send提交.(有的手机收不到信息,解决办法:详细教程 到https://appengine.google.com/waitlist/sms_issues 提交该情况,一个工作日就能收到谷歌提示Google App Engine成功开通)。
    如何访问外网---用goagent设置自己的proxy_第4张图片

  4. 提交完成之后,GAE账号即被激活,然后就可以创建新的应用程序了。转入“My Applications”页面,点击“Create an Application”新建应用
    如何访问外网---用goagent设置自己的proxy_第5张图片
    一个Gmail账户最多可以创建十个GAE应用,每个应用每天1G免费流量。这里我们只创建一个应用就可以了。进入下一步,填写新应用的必要信息,如下图。在图中第一处添加一个应用名称,如abc555,验证一下是否可用,如果显示“Yes”那么abc555就是你的Appid(记住这个id),而 abc555.appspot.com就是你的应用服务器地址了。第二个空可随便填,点击Create Application按钮提交
    如何访问外网---用goagent设置自己的proxy_第6张图片

    提交之后,就能看到下图这个页面,就说明你已经成功创建了一个新的应用,你也可以点击应用名称,进入控制面板进行管理。 
    如何访问外网---用goagent设置自己的proxy_第7张图片
    如果你要建立多个appid,只需要从步骤4开始再重复操作多次就行了。

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

  1. 下载goagent并解压,https://code.google.com/p/goagent/  (注:以防下不了,上传至下载中心 http://down.51cto.com/data/1114632

  2. 上传 

      • Windows用户:双击server文件夹下的upload.bat,输入你上步创建的appid(同时上传多appid在appid之间用 | 隔开,一次只能上传同一个谷歌帐户下的appid)填完按回车。根据提示填你的谷歌帐户邮箱地址,填完按回车。根据提示填你的谷歌帐户密码(注意:如果开启了两步验证,密码应为16位的应用程序专用密码而非谷歌帐户密码,否则会出现AttributeError: can't set attribute错误),填完按回车。如果要上传多个谷歌帐户下的appid,先上传一个账号的,传完一个账号后删除uploader.bat同目录下的.appcfg_cookies文件再传另一个 

      • Linux/Mac用户上传方法:在server目录下执行:python uploader.zip <<更详细Linux平台使用方法>>

    如何访问外网---用goagent设置自己的proxy_第8张图片

    • 如遇到getaddrinfo failed,error10054,Error 10061 目标计算机积极拒绝等错误而不能上传,可以先运行goagent.exe(要先修改appid)并把IE代理设置为127.0.0.1:8087再运行 uploader.bat 

    • 要使用IPv6上传或者上传遇到11004错误可以按照此贴进行修改Issue 9288

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

    如何访问外网---用goagent设置自己的proxy_第9张图片

  3. 上传成功后编辑local\proxy.ini,把其中appid = goagent中的goagent 改成你已经上传成功的应用的appid (用windows的记事本也可以) 
    如果要使用多个appid,appid之间用|隔开,如:appid1|appid2|appid3,每个appid必须确认上传成功才能使用 
    [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. 导入证书 
   Firefox:需要单独导入证书,打开FireFox?->选项->高级->加密->查看证书->
证书机构(必须是这项)->导入证书, 选择local\ca.crt, 勾选所有项,导入; 

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

附:浏览器插件foxyproxy设置方法

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

  2. 设置 

如何访问外网---用goagent设置自己的proxy_第10张图片
  • 右击foxyporxy图标即可选择代理模式 

如何访问外网---用goagent设置自己的proxy_第11张图片
添加代理规则订阅(可选) 
  • 这里以添加gfwlist为例,你也可以自行添加其他规则订阅 

如何访问外网---用goagent设置自己的proxy_第12张图片

 

如何访问外网---用goagent设置自己的proxy_第13张图片

 

如何访问外网---用goagent设置自己的proxy_第14张图片

 

如何访问外网---用goagent设置自己的proxy_第15张图片

 

更多设置请自行探究 

===================================================华丽丽的分割线======================================

        以上是goagent官网的教程,在实际操作过程中,如果运行proxy.py 的时候,有些warning的提示,再根据这些提示安装相关的tool/lib即可。就算warning没有全部消掉,也关系不大。

        最后如果可以访问外网,大家可以再看看官网的全部教程。

        再说一句:

              可以访问外网后,可以去gitHub把帐号的pubkey设置好,然后去git clone [email protected]:goagent/goagent.git,这样goagent就可以保持最新版。

        

        最后,感谢goagent,感谢goagent的开发者!