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

如果您在使用本文中的方法时遇到问题,可以在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地址等)、推送广告以及窃取您的账号凭据,强烈建议不要在任何镜像站上登录维基媒体账号

More information 主站点, 中文站点 ...
主站点 中文站点 类型 可编辑 资源伺服器 遵守著作权 著作权声明 原条目链接 备注
https://kfd.me/ https://54e1ad4b4888.kfd.me/wiki/Wikipedia:首页 未知 已代理 CC BY-SA 4.0 不能直接访问,必须先访问主站
Close

中国大陆直连情况

维基百科的网址如下:

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

维基媒体伺服器列表

参见

参考

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.