如果您身處中國大陸,想正常瀏覽維基百科以及其他部分維基媒體基金會旗下專案,需要透過技術手段繞過防火長城的封鎖。本文旨在提供有效的方法。

如果您在使用本文中的方法時遇到問題,可以在Wikipedia:社群媒體提問,或者參考本文精簡前的版本

封鎖手段簡介

防火長城(GFW)針對維基媒體基金會旗下專案主要使用以下技術手段進行封鎖(封鎖其他網站所用的技術手段也類似):

  • DNS污染:DNS服務用於匹配網域名稱IP位址,透過人為修改DNS記錄,使使用者無法獲得正確的IP位址,導致網站無法打開;如果你使用ping命令或者其他DNS請求工具獲得的IP位址不屬於維基媒體基金會所有,則說明遭遇此種手法;
  • IP封鎖:透過ACLBGP劫持黑洞攻擊等技術手段使使用者的封包無法傳遞至正確的伺服器,而是被丟棄或傳送至錯誤目的地,導致網站無法打開;如果你使用traceroute命令發現雖然IP位址屬於維基媒體基金會,但封包在進入運營商骨幹網後便再無追蹤記錄,則說明遭遇此種手法;
  • 深度包檢測:對於未加密的HTTP連接,該技術可以檢測詳細的傳輸內容,如果觸發敏感詞則立即發起TCP重設攻擊;對於HTTPS連接,雖然其採取了加密措施,但是截至目前SNI部分未被加密,因此透過該技術仍然可以獲知使用者瀏覽的網站,如果該網站在封鎖名單中則連接會被重設,此種手法無論使用ping還是traceroute命令結果均為正常,但是瀏覽器會顯示「連接被重設」等錯誤提示。

使用代理伺服器

您可以使用通常被稱作「翻牆軟體」的代理伺服器或者VPN瀏覽維基百科。由於維基百科不允許使用開放代理編輯,您需要申請IP封禁豁免權才能編輯。中文維基百科的本地豁免可透過wikipedia-zh-ipbe申請,對於全域豁免或其他維基媒體專案,請移步對應頁面了解詳情。中文維基百科的本地IP封禁豁免是長期有效的,但部分其他維基媒體專案的IP封禁豁免有有效期,請務必按時續期。

直接連接

TCB desync

TCB desync透過注入或修改特定TCP封包來欺騙GFW的深度包檢測。例如加利福尼亞大學河濱分校的研究人員在ACM IMC 2017會議上發表的論文《Your State is Not Mine: A Closer Look at Evading Stateful Internet Censorship》,文中提出注入特製封包可以使GFW的TCP狀態機(TCP Control Block)與實際狀態「脫同步」(desync),從而繞過GFW的深度包檢測手段,是為TCB desync。[1]

此類別方法的歷史更早可追溯到2010年終止的西廂計劃,其簡單實現了1998年T. Ptacek等人提出的注入方法規避入侵檢測系統(防火長城)。

本文列出一些當前可用的實現了TCB desync的反審查軟體。

Xray

Xray-core的v1.8.3版本引入了TCP和TLS分段支援,可以規避GFW的SNI重設攻擊。[2]使用方法如下:

  1. GitHub發布頁下載最新版本的Xray核心。
  2. config.json中添加如下組態(以TLS分片為例):
    {
        "dns": {
            "hosts": {
                "regexp:(upload|map)\\.wikimedia\\.org": [
                    "185.15.59.240",
                    "185.15.58.240",
                    "208.80.153.240",
                    "208.80.154.240",
                    "2620:0:861:ed1a::2:b",
                    "2620:0:860:ed1a::2:b",
                    "2620:0:863:ed1a::2:b",
                    "2a02:ec80:300:ed1a::2:b",
                    "2001:df2:e500:ed1a::2:b",
                    "2a02:ec80:600:ed1a::2:b"
                ],
                "domain:wikipedia.org": [
                    "185.15.59.224",
                    "185.15.58.224",
                    "208.80.153.224",
                    "2620:0:863:ed1a::1",
                    "2001:df2:e500:ed1a::1",
                    "2a02:ec80:600:ed1a::1 ",
                    "2a02:ec80:300:ed1a::1",
                    "2620:0:860:ed1a::1",
                    "2620:0:861:ed1a::1"
                ]
            }
        },
        "inbounds": [
            {
                "listen": "0.0.0.0",
                "port": "1083",
                "protocol": "socks",
                "settings": {
                    "auth": "noauth",
                    "udp": true,
                    "ip": "0.0.0.0"
                }
            }
        ],
        "outbounds": [
            {
                "protocol": "freedom",
                "domainStrategy": "UseIP",
                "settings": {
                    "fragment": {
                        "length": "100-200",
                        "interval": "1-2",
                        "packets": "tlshello"
                    }
                },
                "streamSettings": {
                    "sockopt": {
                        "tcpNoDelay": true
                    }
                }
            }
        ]
    }
    
  3. 使用./xray -c /path/to/config.json啟動Xray核心。
  4. 組態瀏覽器使用Xray代理(上例中為SOCKS5協定,埠1083)。注意勾選透過代理查詢DNS的選項。

GoodbyeDPI

若您使用64位元Windows系統,可以在這個頁面下載GoodbyeDPI,解壓後執行2_any_country_dnsredir.cmd即可;

TCPioneer及phantomsocks

對於Windows系統,您也可以在這個頁面下載TCPioneer,解壓後執行tcpioneer.exe即可。TCPioneer的預設設定檔為default.conf,包括對各個網域名稱使用的desync策略,並支援類似Hosts檔案的網域名稱到IP位址的對映,如果您發現使用上述連結內的內建default.conf存在瀏覽問題,請嘗試替換為這個設定檔。

如果您使用macOS或Linux系統,可以使用phantomsocks

域前置

域前置可以讓使用者向防火長城展示經過偽裝的瀏覽資訊,藉此避開SNI封鎖,也就是說雖然瀏覽的是維基百科,但在防火長城看來是在瀏覽別的網站,從而使得連接不會被中斷。

除位於美國舊金山阿什本新加坡的伺服器IP位址外,維基媒體基金會的其他伺服器IP位址可以正常直接連接,但是仍然會受到防火長城連接重設和針對HTTPSSNI檢測的干擾影響,所以可以透過使用多種方法實現域前置,規避防火長城的SNI檢測,瀏覽各個語種版本的維基百科和中文維基語錄等專案。

Chromium核心瀏覽器啟動參數

對於Windows系統中採用Chromium核心的瀏覽器(如ChromeOperaVivaldiBraveMicrosoft Edge等),我們可以在其捷徑中追加--host-rules參數,從而使其連接維基百科時不使用原本的SNI,而是使用其他未被GFW檢測的SNI,從而繞過SNI檢查。[3]

方法如下所述:

  1. 右鍵單擊瀏覽器捷徑;
  2. 打開屬性窗口;
  3. 在「目標」後加入
     --host-rules="MAP *.wikipedia.org wikidata.org, MAP commons.wikimedia.org wikidata.org" --host-resolver-rules="MAP upload.wikimedia.org 208.80.154.240, MAP wikidata.org 185.15.59.224"
  4. 重新啟動瀏覽器即可。

Firefox瀏覽器修補程式

此方法操作起來較為複雜,需要使用者具有相當的電腦相關知識。若您有足夠能力,可以檢視這個頁面來進一步了解。您也可以直接下載構建好的版本

本地反向代理

這裡提供了一個完整組態方法,組態後直接執行Nginx即可。如需要停止服務,可使用nginx -s quit命令或在工作管理員(Windows系統)或使用sudo pkill nginx命令(Linux系統)直接終止Nginx行程。

本地代理工具

有一些代理工具也實現了域前置,它們可能將其稱為「偽造SNI」或其他名稱。關於如何使用其瀏覽維基百科,請參閱其文件。

其他方法

鏡像網站

請注意鏡像站可能會收集網路連接資訊(如IP位址等)、推播廣告以及竊取您的帳號憑據,強烈建議不要在任何鏡像站上登入維基媒體帳號

More information 主站點, 中文站點 ...
主站點 中文站點 類型 可編輯 資源伺服器 遵守著作權 著作權聲明 原條目連結 備註
https://kfd.me/ https://54e1ad4b4888.kfd.me/wiki/Wikipedia:首页 未知 已代理 CC BY-SA 4.0 不能直接瀏覽,必須先瀏覽主站
https://zhwp.blacktea67.us.kg/wiki/Wikipedia:首页 反向代理 未代理 CC BY-SA 4.0 僅支援中文維基百科
Close

中國大陸直連情況

維基百科的網址如下:

維基媒體基金會現已對旗下專案開啟了強制性加密(HTTPS)以及HTTP嚴格傳輸安全(HSTS),未加密的明文版頁面(HTTP)會被強制跳轉到對應的加密版頁面。如果在瀏覽過程中瀏覽器提示憑證錯誤,或者頁面停留在明文版而未跳轉至加密版(即網址列不以https://開頭),說明當前連接極有可能已經受到了干擾建議立即停止瀏覽,不要添加例外,以免傳輸的資料被竊聽。

維基媒體伺服器列表

參見

參考

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.