Clinfowiki
目录
新手工具箱 | ||
---|---|---|
目錄 | ||
| ||
| ||
| ||
|
如果您身处中国大陆,想正常访问维基百科以及其他部分维基媒体基金会旗下项目,需要通过技术手段绕过防火长城的封锁。本文旨在提供有效的方法。
如果您在使用本文中的方法时遇到问题,可以在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封禁豁免有有效期,请务必按时续期。
直接连接
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 |
在中国大陆可以直接连接的IP地址 | |
? | 在中国大陆部分地区可以直接连接,而另外部分地区无法直接连接的IP地址 |
在中国大陆不能直接连接的IP地址 |
说明:
dumps.wikimedia.org
的IP地址不在上述列表中。
通过查询text-lb.(数据中心名).wikimedia.org
、upload-lb.(数据中心名).wikimedia.org
(lb是load balancer的缩写)可以获得上述的IP地址。通过参考Wikimedia servers或Wikipedia:服务器页面可以获得维基媒体基金会服务器的相关信息。
参见
- Wikipedia:IP封禁豁免
- Wikipedia:通过wikipedia-zh-ipbe申请IP封禁豁免指南
- Wikipedia:編輯維基百科危險嗎#不允許訪問維基百科
- 帮助:使用VPN时无法编辑页面?
- 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).