Help:如何访问维基百科
![]() | 本页為操作指南,用於介紹中文维基百科社群的一些实现和操作方式。 本文只是論述,不屬於方針或指引。如果本指南與方針或指引起衝突或不一致,請以方針或指引的條文為準。 |
![]() | 本文中涉及的第三方工具并非由维基媒体基金会及维基百科社群维护,因此其安全性无法得到保证,请自行斟酌。 |
![]() 新手工具箱 | ||
---|---|---|
目錄 | ||
| ||
| ||
| ||
|
如果您身处中国大陆,想正常访问维基百科以及其他部分维基媒体基金会旗下项目,需要通过技术手段绕过防火长城的封锁。本文旨在提供有效的方法。
如果您在使用本文中的方法时遇到问题,可以在Wikipedia:社群媒體提问,或者参考本文精简前的版本。
封锁手段简介
防火长城(GFW)针对维基媒体基金会旗下项目主要使用以下技术手段进行封锁(封锁其他网站所用的技术手段也类似):
- DNS污染:DNS服务用于匹配域名和IP地址,通过人为修改DNS记录,使用户无法获得正确的IP地址,导致网站无法打开;如果你使用ping命令或者其他DNS请求工具获得的IP地址不属于维基媒体基金会所有,则说明遭遇此种手法;
- IP封锁:通过ACL、BGP劫持、黑洞攻击等技术手段使用户的数据包无法传递至正确的服务器,而是被丢弃或发送至错误目的地,导致网站无法打开;如果你使用traceroute命令发现虽然IP地址属于维基媒体基金会,但数据包在进入运营商骨干网后便再无追踪记录,则说明遭遇此种手法;
- 深度包检测:对于未加密的HTTP连接,该技术可以检测详细的传输内容,如果触发敏感词则立即发起TCP重置攻击;对于HTTPS连接,虽然其采取了加密措施,但是截至目前SNI部分未被加密,因此通过该技术仍然可以获知用户访问的网站,如果该网站在封锁名单中则连接会被重置,此种手法无论使用ping还是traceroute命令结果均为正常,但是浏览器会显示“连接被重置”等错误提示。
快速检测连接情况
您可以使用维基媒体服务器连通性面板工具来检测您的网络环境能否访问及编辑维基媒体旗下网站。点击此处打开网页,然后点击“开始检查”,等待测试完成,最后查看结果。
使用代理服务器
您可以使用通常被称作“翻墙软件”的代理服务器或者VPN访问维基百科。由于维基百科不允许使用开放代理编辑,您需要申请IP封禁豁免权才能编辑。请看通过Unblock-zh申请IP封禁豁免指南。
直接连接方法
申请IP封禁豁免权需要一定时间,在此期间您可以参考以下方法来直接连接。
使用被封禁的代理IP之后,您可能需要清除网站数据才能退出被封禁状态。 |
TCB desync
維基教科書中的相關電子教程:GhosTCP |
維基教科書中的相關電子教程:Phantomsocks |
此方法来自加利福尼亚大学河滨分校的研究人员在ACM IMC 2017会议上发表的论文《Your State is Not Mine: A Closer Look at Evading Stateful Internet Censorship》,文中提出注入特制数据包可以使GFW的TCP状态机(TCP Control Block)与实际状态“脱同步”(desync),从而绕过GFW的深度包检测手段。[1]
若您使用64位Windows系统,可以在这个页面下载GoodbyeDPI,解压后运行2_any_country_dnsredir.cmd
即可;您也可以在这个页面下载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检查。[2]
方法如下所述:
- 右键单击浏览器快捷方式;
- 打开属性窗口;
- 在“目标”后加入
--host-rules="MAP *.wikipedia.org wikidata.org, MAP commons.wikimedia.org wikidata.org" --host-resolver-rules="MAP upload.wikimedia.org 103.102.166.240, MAP wikidata.org 185.15.59.224"
- 重启浏览器即可。
Firefox浏览器补丁
此方法操作起来较为复杂,需要用户具有相当的计算机相关知识。若您有足够能力,可以查看这个页面来进一步了解。您也可以直接下载构建好的版本。
专用解封工具
如果您正使用Windows系统,也可以在GitHub上下载SNI解封工具(第三方工具),配合Hosts文件即可访问包括维基媒体基金会(含各个语种版本的维基百科)在内的部分被封锁的网站,无需翻墙。
本地反向代理
这里提供了一个完整配置方法,配置后直接运行Nginx即可。如需要停止服务,可使用nginx -s quit
命令或在任务管理器(Windows系统)或使用sudo pkill nginx
命令(Linux系统)直接终止Nginx进程。
Hosts文件
Hosts文件存在于计算机本地,通过修改该文件可以改变域名至IP地址的映射。通过修改Hosts文件可恢复部分维基媒体基金会项目的正常访问。
修改Hosts文件的具体做法是:
- 打开Hosts文件:
- 在该文件中加入下列页面的内容:
- 保存文件。
修改hosts文件后,您可以通过先访问未被封锁的项目再访问中文维基百科,通过复用连接绕过SNI审查。您可以使用JavaScript脚本自动完成此操作,请登录后编辑页面Special:MyPage/common.js并将以下内容添加进去:
(function() {
const sites = [
'www.mediawiki.org',
'www.wikidata.org',
'incubator.wikimedia.org',
'meta.wikimedia.org',
'en.wiktionary.org',
'wikitech.wikimedia.org',
'commons.wikimedia.org'
];
const activateSni = function() {
mw.loader.using('mediawiki.ForeignApi').then(function() {
(new mw.ForeignApi('https://' + sites[Math.floor(Math.random() * sites.length)] + '/w/api.php')).get({
action: 'query',
meta: 'userinfo',
sand: Math.random() * 10000
});
sites.push(sites.shift());
});
window.setTimeout(activateSni, 30000 + Math.random() * 20000)
};
activateSni();
})();
使用镜像网站
请看Wikipedia:维基百科拷贝网站。请注意镜像站可能会收集网络连接信息(如IP地址等)、推送广告以及窃取您的账户凭据,强烈建议不要在任何镜像站上登录维基媒体账户。
中国大陆直连情况
维基百科的网址如下:
- 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 |
多语言项目和MediaWiki官网 | ||||
维基物种 | IP | |||
维基共享资源 | IP | |||
维基孵育场 | IP | |||
元维基 | IP TCP | IP | ||
维基数据 | IP | |||
MediaWiki官网 | IP | |||
后台支持性服务 | 加密(HTTPS) | 明文(HTTP)[註 1] | ||
Toolforge[註 2] | ||||
toolserver.org | ||||
toolforge.org | ||||
wmcloud.org | ||||
wmflabs.org | DNS TCP | |||
其它服务 | ||||
媒体文件服务器[註 3] | 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:
- 任何语种的维基百科及中文维基语录均无法直接访问。
- 其他维基媒体基金会旗下项目可直接连接。
维基媒体服务器列表
维基媒体基金会使用下列IP地址提供服务,您可以使用下列IP地址替换教程中提供的IP地址。text-lb
和upload-lb
之间的数据不互通,通常应该使用text-lb
中的IP地址,但是对于媒体资源服务器(upload.wikimedia.org
)及地图服务(maps.wikimedia.org
)则应该使用upload-lb
中的IP地址。您可根据延迟和丢包率等数据决定使用哪个服务器。
自2019年12月起,位于美国旧金山的维基媒体基金会服务器的IPv4地址(198.35.26.96)遭到封锁;自2020年起,位于新加坡的维基媒体基金会服务器的IPv4地址(103.102.166.224)和维基媒体基金会位于美国阿什本的IPv4地址(208.80.154.224)被封锁;此外,维基媒体基金会的媒体服务器位于美国旧金山及阿什本的IPv4地址(198.35.26.112、208.80.154.240)也遭到封锁,因此在中国大陆地区,维基媒体基金会的全部项目几乎被完全屏蔽。[需要解释]
另需指出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地址 |
说明:
- 位于美国旧金山的text-lb服务器无法ping通,数据包在中国的骨干网国际端口处被丢弃。
- 位于美国阿什本的服务器,以及旧金山的upload-lb的443端口被封锁,体现为可以ping通,且在地址栏明文访问IP地址(即[1])可显示Wikimedia Error错误信息,但是由于维基媒体项目强制性加密(HTTPS)访问,故无法建立连接(可通过地址栏加密访问IP地址即[2]来验证)。
- 位于新加坡的服务器也遭到了与阿什本服务器相同的封锁,但在中国大陆部分地区解封。
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 (英语).
- ^ 通过配置Chromium系列浏览器启动参数以解决DNS污染与SNI阻断. nicebowl.fun. (原始内容存档于2022-08-22).
|