Clinfowiki

微笑歡迎
新手工具箱
目錄

常用頁面列表

幫助頁面

歡迎!新来者
新手索引大全
關於維基百科
请求帮助
新手入門
社群首頁
致其他百科用户
新手入門簡明指南
使用教學材料庫

尋求他人協助

互助客棧
聯絡我們
IRC即時求助
知識問答
小天使
常见问题解答
如何创建新條目?
如何访问维基百科?
到哪裡發問或提建議?
使用VPN时无法编辑页面?

傳揚維基百科
宣傳片
分享你的感受

新手上路
第一印象
与维基的相识
為什麼寫維基
首次編輯感覺

如果您身处中国大陆,想正常访问维基百科以及其他部分维基媒体基金会旗下项目,需要通过技术手段绕过防火长城的封锁。本文旨在提供有效的方法。

如果您在使用本文中的方法时遇到问题,可以在Wikipedia:社群媒體提问,或者参考本文精简前的版本

封锁手段简介

防火长城(GFW)针对维基媒体基金会旗下项目主要使用以下技术手段进行封锁(封锁其他网站所用的技术手段也类似):

  • DNS污染:DNS服务用于匹配域名IP地址,通过人为修改DNS记录,使用户无法获得正确的IP地址,导致网站无法打开;如果你使用ping命令或者其他DNS请求工具获得的IP地址不属于维基媒体基金会所有,则说明遭遇此种手法;
  • IP封锁:通过ACLBGP劫持黑洞攻击等技术手段使用户的数据包无法传递至正确的服务器,而是被丢弃或发送至错误目的地,导致网站无法打开;如果你使用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]使用方法如下:

  1. GitHub发布页下载最新版本的Xray内核。
  2. 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
                    }
                }
            }
        ]
    }
    
  3. 使用./xray -c /path/to/config.json启动Xray内核。
  4. 配置浏览器使用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地址可以正常直接连接,但是仍然会受到防火长城连接重置和针对HTTPSSNI检测的干扰影响,所以可以通过使用多种方法实现域前置,规避防火长城的SNI检测,访问各个语种版本的维基百科和中文维基语录等项目。

Chromium内核浏览器启动参数

对于Windows系统中采用Chromium内核的浏览器(如ChromeOperaVivaldiBraveMicrosoft Edge等),我们可以在其快捷方式中追加--host-rules参数,从而使其连接维基百科时不使用原本的SNI,而是使用其他未被GFW检测的SNI,从而绕过SNI检查。[3]

方法如下所述:

  1. 右键单击浏览器快捷方式;
  2. 打开属性窗口;
  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"
  4. 重启浏览器即可。

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)以及HTTP严格传输安全(HSTS),未加密的明文版页面(HTTP)会被强制跳转到对应的加密版页面。如果在访问过程中浏览器提示证书错误,或者页面停留在明文版而未跳转至加密版(即地址栏不以https://开头),说明当前连接极有可能已经受到了干扰建议立即停止访问,不要添加例外,以免传输的数据被窃听。

IPv4连接

目前,在中国大陆使用IPv4直接访问维基媒体基金会的不同项目可能会遇到如下情况:

项目 加密(HTTPS) 明文(HTTP)[註 1]
桌面版 移动版 桌面版 移动版
维基百科
所有语言 NoN DNS TCP
维基新闻
中文 NoN DNS TCP
英文 NoN DNS TCP ☒N DNS NoN DNS TCP ☒N DNS
其他语言 ☒N IP
其它中文项目
维基文库 ☒N IP NoN IP TCP
维基教科书 ☒N IP
维基词典 ☒N IP
维基语录 NoN DNS TCP
维基导游 ☒N IP
维基学院 ☒N IP NoN DNS TCP ☒N IP ☒N DNS
多语言项目
维基物种 ☒N IP
维基共享资源 ☒N IP
维基孵育场 ☒N IP
多语言维基文库 ☒N IP
元维基 ☒N IP
维基数据 ☒N IP
MediaWiki官网 ☒N IP
后台支持性服务 加密(HTTPS) 明文(HTTP)[註 1]
Toolforge[註 2]
toolserver.org checkY YesY
toolforge.org checkY YesY
wmcloud.org checkY YesY
wmflabs.org NoN DNS TCP
其它服务
媒体文件服务器[註 3] ☒N IP
地图服务器 ☒N IP
短网址服务[註 4] ☒N IP
后台技术追踪管理 ☒N IP
技术文档 ☒N IP
邮件列表 checkY YesY
  • 字母代号:
    • DNS: 此项目会被解析到无效的IP地址或已被封锁的IP地址,因此无法访问,必须使用Hosts文件手动修正域名解析。
    • TCP: 此项目还会受到SNI检测的影响,会出现连接重置现象。对于加密版本(HTTPS),还需要先访问其他项目或者域前置才能正常访问受到SNI检测的项目。
    • IP : 对于加密版本(HTTPS),由于当前维基媒体基金会位于美国新加坡的服务器遭遇封锁,导致该项目无法访问。但可通过修正域名解析的方式直连。对于明文版(HTTP),直接访问IP地址正常,但由于它们的443(HTTPS)端口被封锁,故无法使用这些IP地址(维基媒体基金会全站已默认开启HTTPS),故仍然视为无法正常访问。
  • 上标註释:
  1. ^ 1.0 1.1 明文版页面会自动跳转至加密版。不考虑HSTS的影响,如果该跳转步骤能顺利完成,则视为可用,标记为黄色勾号。
  2. ^ 根据维基媒体基金会的设置,直接访问toolforge.org会跳转至wikitech.wikimedia.org的对应toolforge介绍。
  3. ^ 根据维基媒体基金会的设置,直接访问该地址会跳转至维基共享资源首页。
  4. ^ 根据维基媒体基金会的设置,直接访问该地址会跳转至元维基中的短网址生成页面。

IPv6连接

维基媒体基金会旗下项目均支持IPv6连接,但是目前IPv6尚不成熟,由于运营商路由表优化不够和带宽有限等原因,其访问效果不如IPv4连接。

目前,通过IPv6:

  • NoN 任何语种的维基百科、中英文维基新闻及中文维基语录均无法直接访问,且存在TCP重置。
  • checkY 其他维基媒体基金会旗下项目可直接连接。

维基媒体服务器列表

维基媒体基金会使用下列IP地址提供服务,您可以使用下列IP地址替换教程中提供的IP地址。text-lbupload-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.orgupload-lb.(数据中心名).wikimedia.org(lb是load balancer的缩写)可以获得上述的IP地址。通过参考Wikimedia serversWikipedia:服务器页面可以获得维基媒体基金会服务器的相关信息。

参见

参考

  1. ^ 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 (英语). 
  2. ^ Release Xray-core v1.8.3 · XTLS/Xray-core. GitHub. [2024-01-05]. 
  3. ^ 通过配置Chromium系列浏览器启动参数以解决DNS污染与SNI阻断. nicebowl.fun. (原始内容存档于2022-08-22).