帮助:如何访问维基百科
本页为操作指南,用于介绍中文维基百科社群的一些实现和操作方式。 本文只是论述,不属于方针或指引。如果本指南与方针或指引起冲突或不一致,请以方针或指引的条文为准。 |
本文中涉及的第三方工具并非由维基媒体基金会及维基百科社群维护,因此其安全性无法得到保证,请自行斟酌。 |
新手工具箱 | ||
---|---|---|
目录 | ||
| ||
| ||
| ||
|
如果您身处中国大陆,想正常访问维基百科以及其他部分维基媒体基金会旗下项目,需要通过技术手段绕过防火长城的封锁。本文旨在提供有效的方法。
如果您在使用本文中的方法时遇到问题,可以在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).