翻墙应用商店

Phus Lu俗称:phus

GoAgent 的平民启蒙:Google App Engine 时代的云端长城穿越者

资料边界与事实声明

本文严格基于 Google Code 归档元数据、GitHub 历史公开提交及电子前沿基金会(EFF)的公开报道撰写。不调查、不推测、不记录开发者的现实个人生活、线下行踪与私人隐私;对 2015 年仓库清空事件,严格引用公开记录的仓库变动及国际公益机构的同期事实转述。

修订历史:
  • 首版收录,基于 Google Code 历史归档、GitHub 备份及 EFF 同期报道撰写。

代表作品与核心贡献

基于 Google App Engine 的跨平台 HTTP/HTTPS 代理软件,统治了 2011—2015 年的中文翻墙生态

基于 Go 语言重写的高性能 GAE 代理服务端与客户端实现

phuslu/log

访问作品

极致性能的结构化 Go 日志库,展现了作者在底层工程领域的卓越追求

第一幕 · 荒芜年代与 GAE 的云端奇袭

在 2011 年左右,普通中文网民要想突破防火长城的封锁,面临着极其高昂的技术与经济门槛。当时个人租用境外 VPS 服务器(如 Linode、DigitalOcean)不仅费用高昂、需要双币信用卡,更需要精通 Linux 命令行操作;而免费的公共网页代理与传统 PPTP/L2TP VPN 则频繁遭遇大面积封锁。

面对这一严峻困局,Phus Lu 提出了一个极具创见的破局思路:既然普通用户无法独立维护服务器,为何不借用全球顶级云计算平台的基础设施?当时 Google 旗下的 Google App Engine(GAE)允许任何开发者免费托管 Web 应用,并拥有极其庞大且当时尚未被彻底封锁的 Google 全球 IP 池。2011 年 4 月 19 日,Phus Lu 在 Google Code 上正式建立了 GoAgent 项目。用户只需本地运行一个由 Python 编写的轻量客户端,通过上传工具将服务端部署到自己申请的 GAE 空间上,就能以近乎零成本的方式获得稳定、高速且端到端加密的专用代理通道。[1]

第二幕 · 海量 AppID 与一代网民的翻墙启蒙

随着 GoAgent 的迅速成熟,中文互联网迎来了一场前所未有的平民化翻墙启蒙浪潮。GoAgent 完美契合了当时网民日常浏览网页、查阅学术资料与观看 YouTube 的核心需求。为了绕过 GAE 单个应用每天 1GB 的流量限额,Phus Lu 在客户端中设计了精巧的 AppID 轮询与负载均衡机制,用户只需在配置文件中填入用竖线隔开的多个 AppID,客户端即可自动在后台切换分配流量。

在 GoAgent 的鼎盛时期,无数技术博客与论坛争相传授“如何部署 GoAgent”、“如何导入自签名根证书”以及“如何配合 Chrome 扩展 SwitchySharp / AutoProxy 实现自动分流”。围绕 GoAgent 还衍生出了公共 AppID 集群、自动化优选 Google IP 脚本以及各类第三方免配置整合包。毫不夸张地说,GoAgent 是整整一代中文互联网用户认识现代网络、理解代理原理并第一次睁眼看世界的启蒙导师。[4]

第三幕 · Everything that has a beginning has an end

然而,过度依赖单一跨国商业云服务的弱点也随着审查强度的指数级升级而逐渐凸显。从 2014 年中开始,防火长城开始对 Google 的全球 IP 地址段展开系统性的阻断与干扰,导致 GAE 的可用 IP 迅速枯竭,用户必须依靠专门的扫描工具每日苦寻幸存的可用节点。

2015 年 8 月,不可抗力风暴集中降临。在 Shadowsocks 原作者被要求停更的三天之后,2015 年 8 月 25 日,Phus Lu 删除了 GoAgent 在 GitHub 上的主要源码,并将项目描述修改为富有深意的一句话:“Everything that has a beginning has an end”(万物有始必有终)。国际人权与技术公益组织电子前沿基金会(EFF)随后在《China takes aim at its coders》报告中专门记录了这一事件。这一句优雅而平静的道别,宣告了长达四年的 GAE 云代理时代的正式落幕。[2]

第四幕 · 薪火相传与现代平台的先声

GoAgent 虽然退场,但其激起的时代余响却极其深远。就在 GoAgent 仓库清空的十天之后,2015 年 9 月 5 日,全新项目 V2Ray 发布了它的初始提交。在其首份技术自述中,开发者赫然将 GoAgent 与 Shadowsocks 删库事件并列写为核心开发动机,并将兼容 GoAgent 协议作为初代功能之一,立志打造不再依附于单一平台、具备强大抗摧毁能力的模块化通用工具包。

此后,Phus Lu 转入更为低调纯粹的技术探索,开发了用 Go 语言重写的 Goproxy,并在高性能系统编程领域持续奉献了 phuslu/log 等顶级开源成果。GoAgent 留下的不仅是历史记忆,更是中文开发者在密不透风的铁幕前以智慧开辟自由之路的不朽见证。[3]

编年大事记

GoAgent 在 Google Code 正式建立

Phus Lu 创建基于 Google App Engine 的 Python 代理项目,开启云端反向代理时代。[1]

引入多 AppID 自动轮询与智能分流

持续重构客户端架构,支持多应用配额负载均衡与本地 HTTPS 自签名证书劫持解析。[4]

清空源码仓库并发表著名告别语

将 GitHub 主要仓库清空,留下“Everything that has a beginning has an end”,EFF 随后发表专题报道。[2]

删库事件直接启发 V2Ray 创立

V2Ray 初始发布说明明确将 GoAgent 被迫停更列为创立动因与技术承接对象。[3]

探索 Goproxy 高性能 Go 语言重写

在 GitHub 发布 Goproxy 项目,探索使用 Go 语言协程与原生网络栈优化代理性能。[4]

一手来源与考据

小传正文中的关键事实与时间点均基于以下公开一手记录或权威报道:

  1. [1]

    证实 GoAgent 初始创建时间为 2011 年 4 月 19 日及其早期架构

    https://storage.googleapis.com/google-code-archive/v2/code.google.com/goagent/project.json
  2. [2]

    权威国际公益组织记录 2015 年 8 月 Phus Lu 清空 GoAgent 仓库的经过与告别语

    https://www.eff.org/deeplinks/2015/08/speech-enables-speech-china-takes-aim-its-coders
  3. [3]

    记录 V2Ray 将 GoAgent 删代码事件作为核心开发动机的历史凭据

    https://github.com/v2ray/v2ray-core/commit/4c03bf0d45ba68dc2768bd75b1eb2e2efd23b58d
  4. [4]

    归档保存的 GoAgent 客户端源码与多 AppID 轮询机制实现

    https://github.com/out0fmemory/GoAgent-Original/tree/master/goagent-orignal-newest

发现人物信息不准确?

提交建议内容和公开证据链接。无需填写联系方式,资料会在人工核验后更新。

提交信息纠错