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加密連線。
- 自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的開發者刪除了該項目。