GoAgent

基于Python开发、以GAE作为中转服务器的代理软件。已停止开发。

GoAgent是使用跨平台語言Python開發、基於GPL自由軟體協定的代理軟體。它利用Google App Engine(GAE)的伺服器充當代理。該軟體在中國大陸被廣泛用於突破大陸官方建立的防火長城(GFW),以瀏覽被封鎖的內容。

GoAgent
GoAgent Beta介面
GoAgent Beta介面
開發者phus.lu, HewigOvens
最終版本
  • 3.2.3(2014年11月22日)
編輯維基數據鏈結
原始碼庫 編輯維基數據鏈結
作業系統跨平台(基於Python
類型代理伺服器
許可協定GNU GPL v2
網站goagent.github.io(已刪除)
通過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]

注釋

  1. ^ 也可以選擇使用已經由其他人部署的GoAgent伺服器,此情況下則不需要上傳也不需要註冊帳號。

參考資料

  1. ^ 1.0 1.1 GoAgent FAQ. [2013-07-24]. (原始內容存檔於2014-09-25) (中文(中國大陸)). 
  2. ^ GoAgent Wiki. [2012-08-24] (中文(中國大陸)). [失效連結]
  3. ^ Dan Levin. 谷歌服务在中国遭遇大规模干扰. 紐約時報中文網. 2014-06-03 [2014-09-24]. (原始內容存檔於2015-08-05) (中文). 
  4. ^ Keith Bradsher,Paul Mozur. 中国强化网络监管,谷歌的生意不好做. 紐約時報中文網. 2014-09-23 [2014-09-24]. (原始內容存檔於2020-08-10) (中文). 
  5. ^ Tiank. 让GoAgent通过IPV6科学上网. FreeBuf. [2016-01-06]. (原始內容存檔於2015-10-29). 
  6. ^ URL Fetch Python API Overview. [2016-01-06]. (原始內容存檔於2016-04-27). (英文)
  7. ^ 用goagent干坏事的同志小心暴露你身份. [2013-05-05]. (原始內容存檔於2013-05-07). (簡體中文)
  8. ^ 翻墙软件 GoAgent 的安全风险. [2016-01-06]. (原始內容存檔於2020-06-17). 
  9. ^ 馬平. 许东在推特支持香港占中 被以“涉嫌寻衅滋事罪”带走. 自由亞洲電台. 2014-11-11 [2014-11-13]. (原始內容存檔於2020-05-02). 
  10. ^ GoAgent 作者 Phus Lu 发布澄清声明. 開源中國. 2014-11-13 [2014-11-13]. (原始內容存檔於2014-11-13). 
  11. ^ GoAgent开发者删除项目,GitHub再次受到DDoS攻击. Solidot奇客. (原始內容存檔於2016-03-06). 
  12. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29 [2016-01-07]. (原始內容存檔於2016-05-06). (英文)
  13. ^ O'Brien, Danny. Speech that Enables Speech: China Takes Aim at Its Coders. 電子前哨基金會. [2016-05-28]. (原始內容存檔於2016-06-24) (英語). 中文翻譯

外部連結