說明:如何訪問維基百科
本頁為操作指南,用於介紹中文維基百科社群的一些實作和操作方式。 本文只是論述,不屬於方針或指引。如果本指南與方針或指引起衝突或不一致,請以方針或指引的條文為準。 |
本文中涉及的第三方工具並非由維基媒體基金會及維基百科社群維護,因此其安全性無法得到保證,請自行斟酌。 |
新手工具箱 | ||
---|---|---|
目錄 | ||
| ||
| ||
| ||
|
如果您身處中國大陸,想正常訪問維基百科以及其他部分維基媒體基金會旗下項目,需要通過技術手段繞過防火長城的封鎖。本文旨在提供有效的方法。
如果您在使用本文中的方法時遇到問題,可以在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).