GoAgent是使用跨平台语言Python开发、基于GNU通用公共许可协定的代理软体。它利用Google App Engine(GAE)的伺服器充当代理。
GoAgent分为两个部分,一部分是需要部署到GAE上的伺服器端软体,另一部分是用户电脑上运行的客户端软体。用户需要将伺服器端软体上传到GAE中,然后通过客户端软体与其连线,获取内容。为方便用户使用,GoAgent也提供了自动部署工具。
从2015年8月以后,GoAgent已停止维护,并被开发者删除。
基本介绍
- 外文名goagent
- 类型代理伺服器
- 编写工具Python、Google App EngineSDK
- 使用平台Microsoft Windows,Mac等
- 开发者phus.lu、HewigOvens
- 最终稳定版本3.2.3(2014年11月22日)
- 许可协定GNU通用公共许可协定
特性
由于使用Python开发,GoAgent支持多种作业系统,例如Microsoft Windows、OS X、iOS、Linux(包括基于Linux开发的移动作业系统、路由器固件,如Android和OpenWrt)。
GoAgent的其他特性如下
- 支持作为本地DNS伺服器使用。
- 支持代理自动配置(PAC)。
- 支持在数据传送过程中採用HTTPS加密连线。
- 支持Google App Engine,PHP和PaaS三种模式。
- 自2.1.17版本起支持在通信时加入混淆数据以避免数据包在传输时受到特徵过滤 。
- GoAgent自3.0.6版开始可选支持RC4加密选项。
运行原理
GoAgent的运行原理与其他代理工具基本相同,使用特定的中转伺服器完成数据传输。它使用Google App Engine的伺服器作为中传,将数据包后传送至Google伺服器,再由Google伺服器转发至目的伺服器,接收数据时方法也类似。由于伺服器端软体基本相同,该中转伺服器既可以是用户自行架设的伺服器,也可以是由其他人架设的开放伺服器。
GoAgent可以通过HTTP和HTTPS两种方式连线Google伺服器,用户可以根据自己的网路情况酌情选择。
争议
身份暴露风险
GoAgent依赖Google App Engine伺服器,在传送请求、获取网页内容的时候,请求报头中的User Agent会带有唯一的AppID,存在暴露身份信息的风险。
证书风险
- GoAgent 在启动时会尝试自动往系统的可信根证书中导入一个名为“GoAgent CA”的证书。由于这个证书的私钥是公开的,导致任何人都可以利用这个私钥来伪造任意网站的证书进行 HTTPS 中间人攻击。即使在不开启 GoAgent 时,这种攻击的风险仍然存在。换而言之,一旦这个证书被导入,攻击者可以用此绕过几乎所有网站的 HTTPS 保护(在GoAgent 3.2.1版本之后这个漏洞得以修复)。
- GoAgent 本身对 TLS 证书的认证存在问题,而且默认时不对证书进行检查,这导致在使用 GoAgent 时存在 HTTPS 中间人攻击的风险。
停止维护
2015年8月25日,GoAgent的开发者删除了该项目。