說明:如何瀏覽維基百科
本頁為操作指南,用於介紹中文維基百科社群的一些實作和操作方式。 本文只是論述,不屬於方針或指引。如果本指南與方針或指引起衝突或不一致,請以方針或指引的條文為準。 |
本文中涉及的第三方工具並非由維基媒體基金會及維基百科社群維護,因此其安全性無法得到保證,請自行斟酌。 |
新手工具箱 | ||
---|---|---|
目錄 | ||
| ||
| ||
| ||
|
如果您身處中國大陸,想正常瀏覽維基百科以及其他部分維基媒體基金會旗下專案,需要透過技術手段繞過防火長城的封鎖。本文旨在提供有效的方法。
如果您在使用本文中的方法時遇到問題,可以在Wikipedia:社交媒體提問,或者參考本文精簡前的版本。
封鎖手段簡介
防火長城(GFW)針對維基媒體基金會旗下專案主要使用以下技術手段進行封鎖(封鎖其他網站所用的技術手段也類似):
- DNS污染:DNS服務用於匹配網域名稱和IP位址,透過人為修改DNS記錄,使用戶無法獲得正確的IP位址,導致網站無法打開;如果你使用ping命令或者其他DNS請求工具獲得的IP位址不屬於維基媒體基金會所有,則說明遭遇此種手法;
- IP封鎖:透過ACL、BGP劫持、黑洞攻擊等技術手段使用戶的封包無法傳遞至正確的伺服器,而是被丟棄或傳送至錯誤目的地,導致網站無法打開;如果你使用traceroute命令發現雖然IP位址屬於維基媒體基金會,但封包在進入運營商骨幹網後便再無追蹤記錄,則說明遭遇此種手法;
- 深度包檢測:對於未加密的HTTP連接,該技術可以檢測詳細的傳輸內容,如果觸發敏感詞則立即發起TCP重設攻擊;對於HTTPS連接,雖然其採取了加密措施,但是截至目前SNI部分未被加密,因此透過該技術仍然可以獲知用戶瀏覽的網站,如果該網站在封鎖名單中則連接會被重設,此種手法無論使用ping還是traceroute命令結果均為正常,但是瀏覽器會顯示「連接被重設」等錯誤提示。
使用代理伺服器
您可以使用通常被稱作「翻牆軟件」的代理伺服器或者VPN瀏覽維基百科。由於維基百科不允許使用開放代理編輯,您需要申請IP封禁豁免權才能編輯。中文維基百科的本地豁免可透過郵件或網站申請,對於全域豁免或其他維基媒體專案,請移步對應頁面了解詳情。中文維基百科的本地IP封禁豁免是長期有效的,但部分其他維基媒體專案的IP封禁豁免有有效期,請務必按時續期。
直接連接
使用被封禁的代理IP之後,您可能需要清除Cookie才能退出被封禁狀態。 |
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]使用方法如下:
- 從GitHub發佈頁下載最新版本的Xray內核。
- 在
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 } } } ] }
- 使用
./xray -c /path/to/config.json
啟動Xray內核。 - 組態瀏覽器使用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位址可以正常直接連接,但是仍然會受到防火長城連接重設和針對HTTPS的SNI檢測的干擾影響,所以可以透過使用多種方法實現域前置,規避防火長城的SNI檢測,瀏覽各個語種版本的維基百科和中文維基語錄等專案。
Chromium內核瀏覽器啟動參數
對於Windows系統中採用Chromium內核的瀏覽器(如Chrome、Opera、Vivaldi、Brave、Microsoft Edge等),我們可以在其捷徑中追加--host-rules
參數,從而使其連接維基百科時不使用原本的SNI,而是使用其他未被GFW檢測的SNI,從而繞過SNI檢查。[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"
- 重新啟動瀏覽器即可。
Firefox瀏覽器修補程式
此方法操作起來較為複雜,需要用戶具有相當的電腦相關知識。若您有足夠能力,可以檢視這個頁面來進一步了解。您也可以直接下載構建好的版本。
本地反向代理
這裏提供了一個完整組態方法,組態後直接執行Nginx即可。如需要停止服務,可使用nginx -s quit
命令或在工作管理員(Windows系統)或使用sudo pkill nginx
命令(Linux系統)直接終止Nginx行程。
本地代理工具
有一些代理工具也實現了域前置,它們可能將其稱為「偽造SNI」或其他名稱。關於如何使用其瀏覽維基百科,請參閱其文件。
其他方法
鏡像網站
請注意鏡像站可能會收集網絡連接資訊(如IP位址等)、推播廣告以及竊取您的帳號憑據,強烈建議不要在任何鏡像站上登入維基媒體帳號。
主站點 | 中文站點 | 類型 | 可編輯 | 資源伺服器 | 遵守著作權 | 著作權聲明 | 原條目連結 | 備註 |
---|---|---|---|---|---|---|---|---|
https://kfd.me/ | https://54e1ad4b4888.kfd.me/wiki/Wikipedia:首页 | 未知 | 否 | 已代理 | 是 | CC BY-SA 4.0 | 否 | 不能直接瀏覽,必須先瀏覽主站 |
中國大陸直連情況
維基百科的網址如下:
- https://zh.wikipedia.org/ (中文維基百科電腦版)
- https://zh.m.wikipedia.org/ (中文維基百科流動版)
- https://www.wikipedia.org/ (多語言入口,可以透過其瀏覽或搜尋任意語言版本的維基百科)
維基媒體基金會現已對旗下專案開啟了強制性加密(HTTPS)以及HTTP嚴格傳輸安全(HSTS),未加密的明文版頁面(HTTP)會被強制跳轉到對應的加密版頁面。如果在瀏覽過程中瀏覽器提示證書錯誤,或者頁面停留在明文版而未跳轉至加密版(即地址列不以https://
開頭),說明當前連接極有可能已經受到了干擾,建議立即停止瀏覽,不要添加例外,以免傳輸的數據被竊聽。
IPv4連接
目前,在中國大陸使用IPv4直接瀏覽維基媒體基金會的不同專案可能會遇到如下情況:
專案 | 加密(HTTPS) | 明文(HTTP)[註 1] | ||
---|---|---|---|---|
電腦版 | 流動版 | 電腦版 | 流動版 | |
維基百科 | ||||
所有語言 | DNS TCP | |||
維基新聞 | ||||
中文 | DNS TCP | |||
英文 | DNS TCP | DNS | DNS TCP | DNS |
其他語言 | IP | |||
其它中文專案 | ||||
維基文庫 | IP | IP TCP | ||
維基教科書 | IP | |||
維基詞典 | IP | |||
維基語錄 | DNS TCP | |||
維基導遊 | IP | |||
維基學院 | IP | DNS TCP | IP | DNS |
多語言專案 | ||||
維基物種 | IP | |||
維基共享資源 | IP | |||
維基孵育場 | IP | |||
多語言維基文庫 | IP | |||
元維基 | IP | |||
維基數據 | IP | |||
MediaWiki官網 | IP | |||
後台支援性服務 | 加密(HTTPS) | 明文(HTTP)[註 1] | ||
Toolforge[註 2] | ||||
toolserver.org | ||||
toolforge.org | ||||
wmcloud.org | ||||
wmflabs.org | DNS TCP | |||
其它服務 | ||||
媒體檔案伺服器[註 3] | IP | |||
地圖伺服器 | IP | |||
短網址服務[註 4] | IP | |||
後台技術追蹤管理 | IP | |||
技術文件 | IP | |||
郵寄清單 |
- 字母代號:
- DNS: 此專案會被解析到無效的IP位址或已被封鎖的IP位址,因此無法瀏覽,必須使用Hosts檔案手動修正網域名稱解析。
- TCP: 此專案還會受到SNI檢測的影響,會出現連接重設現象。對於加密版本(HTTPS),還需要先瀏覽其他專案或者域前置才能正常瀏覽受到SNI檢測的專案。
- IP : 對於加密版本(HTTPS),由於當前維基媒體基金會位於美國和新加坡的伺服器遭遇封鎖,導致該專案無法瀏覽。但可透過修正網域名稱解析的方式直連。對於明文版(HTTP),直接瀏覽IP位址正常,但由於它們的443(HTTPS)埠被封鎖,故無法使用這些IP位址(維基媒體基金會全站已預設開啟HTTPS),故仍然視為無法正常瀏覽。
- 上標註釋:
- ^ 1.0 1.1 明文版頁面會自動跳轉至加密版。不考慮HSTS的影響,如果該跳轉步驟能順利完成,則視為可用,標記為黃色勾號。
- ^ 根據維基媒體基金會的設置,直接瀏覽toolforge.org會跳轉至wikitech.wikimedia.org的對應toolforge介紹。
- ^ 根據維基媒體基金會的設置,直接瀏覽該地址會跳轉至維基共享資源首頁。
- ^ 根據維基媒體基金會的設置,直接瀏覽該地址會跳轉至元維基中的短網址生成頁面。
IPv6連接
維基媒體基金會旗下專案均支援IPv6連接,但是目前IPv6尚不成熟,由於運營商路由表最佳化不夠和頻寬有限等原因,其瀏覽效果不如IPv4連接。
目前,透過IPv6:
- 任何語種的維基百科、中英文維基新聞及中文維基語錄均無法直接瀏覽,且存在TCP重設。
- 其他維基媒體基金會旗下專案可直接連接。
維基媒體伺服器列表
維基媒體基金會使用下列IP位址提供服務,您可以使用下列IP位址替換教程中提供的IP位址。text-lb
和upload-lb
之間的數據不互通,通常應該使用text-lb
中的IP位址,但是對於媒體檔案伺服器(upload.wikimedia.org
)及地圖服務(maps.wikimedia.org
)則應該使用upload-lb
中的IP位址。您可根據延遲和丟包率等數據決定使用哪個伺服器。
另需指出Toolforge單獨擁有數據中心,因此不使用以下任何IP位址,而有其專用的IP位址:185.15.56.11
。
教育網封鎖了部分IPv6地址,使用前應確認可用性。
位置 | 數據中心名 | 對應專案 | 網絡地址 | |||
---|---|---|---|---|---|---|
text-lb | upload-lb | |||||
IPv4地址 | IPv6地址 | IPv4地址 | IPv6地址 | |||
美國阿什本 | eqiad | 全部專案 | 208.80.154.224 | 2620:0:861:ed1a::1 | 208.80.154.240 | 2620:0:861:ed1a::2:b |
美國卡羅爾頓 | codfw | 208.80.153.224 | 2620:0:860:ed1a::1 | 208.80.153.240 | 2620:0:860:ed1a::2:b | |
美國三藩市 | ulsfo | 198.35.26.96 | 2620:0:863:ed1a::1 | 198.35.26.112 | 2620:0:863:ed1a::2:b | |
荷蘭阿姆斯特丹 | esams | 185.15.59.224 | 2a02:ec80:300:ed1a::1 | 185.15.59.240 | 2a02:ec80:300:ed1a::2:b | |
新加坡 | eqsin | 103.102.166.224 | 2001:df2:e500:ed1a::1 | 103.102.166.240 | 2001:df2:e500:ed1a::2:b | |
法國馬賽 | drmrs | 185.15.58.224 | 2a02:ec80:600:ed1a::1 | 185.15.58.240 | 2a02:ec80:600:ed1a::2:b | |
巴西聖保羅 | magru | 195.200.68.224 | 2a02:ec80:700:ed1a::1 | 195.200.68.240 | 2a02:ec80:700:ed1a::2:b |
在中國大陸可以直接連接的IP位址 | |
? | 在中國大陸部分地區可以直接連接,而另外部分地區無法直接連接的IP位址 |
在中國大陸不能直接連接的IP位址 |
說明:
dumps.wikimedia.org
的IP位址不在上述列表中。
透過查詢text-lb.(数据中心名).wikimedia.org
、upload-lb.(数据中心名).wikimedia.org
(lb是load balancer的縮寫)可以獲得上述的IP位址。透過參考Wikimedia servers或Wikipedia:伺服器頁面可以獲得維基媒體基金會伺服器的相關資訊。
參見
參考
- ^ Wang, Zhongjie; Cao, Yue; Qian, Zhiyun; Song, Chengyu; Krishnamurthy, Srikanth V. Your state is not mine: a closer look at evading stateful internet censorship. ACM. 2017-11. ISBN 978-1-4503-5118-8. doi:10.1145/3131365.3131374 (英語).
- ^ Release Xray-core v1.8.3 · XTLS/Xray-core. GitHub. [2024-01-05].
- ^ 通过配置Chromium系列浏览器启动参数以解决DNS污染与SNI阻断. nicebowl.fun. (原始內容存檔於2022-08-22).