GoAgent是使用跨平台语言Python开发、基于GPL自由软件协议的代理软件。它利用Google App Engine(GAE)的服务器充当代理。该软件在中国大陆被广泛用于突破大陆官方建立的防火长城(GFW),以浏览被封锁的内容。

Quick Facts 开发者, 最终版本 ...
GoAgent
Thumb
Thumb
GoAgent Beta界面
开发者phus.lu, HewigOvens
最终版本
  • 3.2.3(2014年11月22日)
编辑维基数据链接
源代码库 编辑维基数据链接
操作系统跨平台(基于Python
类型代理服务器
许可协议GNU GPL v2
网站goagent.github.io(已删除)
Close
Thumb
通过GoAgent 在Firefox中打开维基百科主页的截图
可见证书颁发人为GoAgent

GoAgent分为两个部分,一部分是需要部署到GAE上的服务器端软件,另一部分是用户电脑上运行的客户端软件。用户需要将服务器端软件上传到GAE中[a],然后通过客户端软件与其连接,获取被封锁的内容。为方便用户使用,GoAgent也提供了自动部署工具。

从2015年8月以后,GoAgent已停止维护,并被开发者删除。GoAgent作者 phuslu 于2015年3月开始开发另一个翻墙软件GoProxy,现已删除。

特性

由于使用Python开发,GoAgent支持多种操作系统,例如Microsoft WindowsOS XiOSLinux(包括基于Linux开发的移动操作系统、路由器固件,如AndroidOpenWrt[1]

GoAgent的其他特性如下:

运行原理

GoAgent的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。它使用Google App Engine的服务器作为中传,将数据封包后传送至Google服务器,再由Google服务器转发至目的服务器,接收数据时方法也类似[2] 。由于服务器端软件基本相同,该中转服务器既可以是用户自行架设的服务器,也可以是由其他人架设的开放服务器。

因为中国大陆防火长城难以完全封锁,或出于其他考虑不能完全封锁此Google服务,到目前为止几经更新的GoAgent仍旧可以正常使用,尽管在2014年5月底开始,Google又一次遭到中国政府防火长城的大规模封锁,Google首页至今仍不能从中国大陆正常存取。[3][4]

GoAgent可以通过HTTP和HTTPS两种方式连接Google服务器,用户可以根据自己的网络情况酌情选择。

由于防火长城的屏蔽策略调整,Google IP被悉数封锁,因而该工具的破网效率已大不如前。但是由于Google采用了任播技术,只要用户能够自行找到可用的Google IP(例如使用GoGoTester),那么GoAgent就可以通过用户找到的IP直接与Google连接,从而提高连接成功率和连接速度[5]

缺陷

身份暴露风险

GoAgent依赖Google App Engine服务器,在发送请求、获取网页内容的时候,请求报头中的User Agent会带有唯一的AppID[6],存在暴露身份信息的风险[7]

证书风险

  • GoAgent 在启动时会尝试自动往系统的可信根证书中导入一个名为“GoAgent CA”的证书。由于这个证书的私钥是公开的,导致任何人都可以利用这个私钥来伪造任意网站的证书进行 HTTPS 中间人攻击。即使在不开启 GoAgent 时,这种攻击的风险仍然存在。换而言之,一旦这个证书被导入,攻击者可以用此绕过几乎所有网站的 HTTPS 保护。
    • 在GoAgent 3.2.1版本之后这个漏洞得以修复。
  • GoAgent 本身对 TLS 证书的认证存在问题,而且默认时不对证书进行检查,这导致在使用 GoAgent 时存在 HTTPS 中间人攻击的风险。[8]

注意事项

由于GoAgent所使用的Google App Engine被认为可以作为开放式代理,因此其使用的美国加利福尼亚州山景城Google数据中心的出口IP地址段会受到部分网站的封锁或限制(如对维基百科只能浏览而不能编辑),以防止恶意攻击。

衍生项目

GoAgent发布以后,民间的开发者又发起了众多的衍生项目,以方便用户使用GoAgent,像是XX-Net和GreatAgent和GoAgent+。

XX-Net

XX-Net是一个免费的桌面应用程序,是基于GoAgent的一个GUI图形界面程序,使用起来简单方便,减少了GoAgent繁琐的设置步骤,为被审查区域的用户提供快速、可靠和安全的开放互联网访问。它使用GAE代理服务器通过防火墙。可以自动扫描IP。XX-Net是github上的一个项目。安卓系统则有衍生项目Xndroid。

GreatAgent

此项目旨在提供公共而开放的服务端供普通用户使用,有GreatAgent-ga与GreatAgent-wp两个版本,分别对应GoAgent与WallProxy这两个常用的代理程式;除此之外,还提供配置好的Firefox,免去了用户自行配置、调试的麻烦。

目前,GreatAgent已部署830个适用于GoAgent的AppID和1210个适用于WallProxy的AppID,两者在功能上有所不同。GreatAgent-ga版本仅支援Google的搜寻和YouTube的在线视讯,并且不支援中国大陆国内网站的访问;而GreatAgent-wp则没有上述限制,被称为“电影 AppID”,意指其连线速率较快,但是抗干扰能力不佳。[1]

GoAgent GUI

GoAgent GUI是一个GoAgent图形化版本。

GoAgent+

Smartladder是一个内置4947个AppID的GoAgent的打包版本集,包括单独的GoAgent打包以及作者提供的带该工具的浏览器便捷版。

AppID列表

由于GAE有流量限制和应用数量限制,所以有志愿者收集和维护了开放的AppID的列表供大家使用,这样,用户便可以在不花钱的情况下,通过类似负载均衡的机制绕过流量限制。

浏览器

有些民间志愿者将GoAgent配置好,并将其与Chromium等开源的浏览器整合,制作成整合包,从而做到一键启动,例如天行浏览器(Xskywalker)、畅游无限浏览器等。

枫叶香蕉

枫叶香蕉是一个用Delphi语言编写的,基于GoAgent、WallProxy等代理工具的代理客户端。

2014年11月4日,北京警方以“涉嫌寻衅滋事”为由抓捕了其主要维护者许东(OnionHacker)。据报道许东被抓捕和其推特发布支持占中言论有关,以及其推特发布的追求自由言论是其身陷囹圄的重要因素。之后,网络著名维权人士“超级低俗屠夫”在其推特发起募款行动,为其筹集律师费用。在民间维权力量积极活动和施压下,许东于2015年1月30日离开北京第一看守所,恢复自由,总共被关押89天.[9]

在许东被捕后,GoAgent 的主要贡献者之一phus.lu 在其Twitter中发表声明,称其“从未在 GoAgent 获得直接或间接的经济利益,也未接受过任何境外和境内组织的捐助;从未提供基于 GoAgent 的公共服务和政治看法”。phus.lu 解释到,在许东被捕后发表声明,是为了“以防万一”[10]

停止维护

2015年8月25日,在Shadowsocks作者迫于警方压力删除其项目之后,GoAgent的开发者也删除了该项目。[11]

GoAgent项目删除不久,GitHub即遭到了来自中国的DDoS攻击。开发者普遍认为此次攻击与中国政府有关。[12]2015年8月28日,电子前哨基金会针对Shadowsocks和GoAgent被删除一事发表评论,对中国政府针对翻墙软件作者的打击表示了强烈的谴责。[13]

注释

参考资料

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.