科学之家

国内直连 · 新手图文教程

国内域名分流规则

让日常国内网站使用本地网络,减少不必要的绕路。

域名集合Mihomo / sing-box资料核对

图文介绍与操作示意

让日常国内网站使用本地网络,减少不必要的绕路。 配图取自 Clash Verge Rev 官方自定义规则文档,用于说明规则编辑入口。本页配置讲解由本站整理。

根据 Clash Verge Rev 官方自定义规则文档(新窗口) 整理

规则编辑流程:打开订阅、找到当前配置、编辑规则、保存检查。非软件截图。
Clash Verge Rev · 科学之家原创规则编辑流程示意官方操作说明(新窗口) · 核对 2026-09-30

操作流程示意由科学之家绘制,非软件界面截图;其余配图来源见各图说明。菜单随软件版本变化。

01 · 先看懂这条规则

这是一份国内网站域名名单。客户端发现请求的域名在名单里,就可以把这次连接交给 DIRECT,也就是直接使用你当前的宽带或移动网络。它解决的是“这些网站走哪条路”的问题,不会替你更换 DNS、购买节点或修复网站本身的故障。

用一个实际场景理解

例如,你想让视频网站使用单独的代理组,但打开京东、淘宝或哔哩哔哩时仍使用家里的宽带。可以先放具体服务规则,再放 cn 国内直连规则,最后保留原配置的兜底规则。不同用途因此可以分别处理。

国内域名规则匹配图:请求进入客户端,命中集合后使用DIRECT 直连,未命中则继续检查后续规则。
图 1 · 分流过程示意。这里只解释匹配关系,不是客户端实时连接截图。

先认识四个词

域名
网站的文字地址,例如 www.baidu.com。网址中的协议和页面路径不属于域名。
规则集
一份需要匹配的地址名单;本页提供的 MRS / SRS 是供对应内核读取的二进制文件。
策略 / 出站
命中后怎样处理连接:直接连接、交给已有代理组,或者拒绝连接。
命中
当前连接满足了某条规则。查看连接记录,才能知道实际采用了哪条规则。

02 · 它包含哪些内容?

适用范围

  • 名单中的国内站点域名及后缀条目覆盖的子域名。
  • 适合用于购物、资讯、学习、国内影音等访问场景的直连分类。
  • 与已有代理规则共同使用:命中 cn 才执行你给它分配的策略。

需要另外判断的情况

  • cn 是域名清单,不是全部中国 IP 地址段;单独导入它不会自动获得 GEOIP 分流。
  • 网站未被收录、连接只有 IP 或更早的规则已经接管时,这条规则可能不会命中。
  • 直连不保证一定更快;校园网、公司网或跨境网络的实际体验需要自行比较。

从上游清单中取出的真实条目

在 核对的文本清单中,共有 111,031 条非注释条目。以下只展示部分示例,数量和内容会随上游更新变化,也不代表你此刻客户端已加载的数量。

条目示例 · 不作为独立订阅导入
+.baidu.com
+.bilibili.com
+.jd.com
+.qq.com
+.taobao.com

+.example.com 这种写法表示域名后缀匹配,涵盖根域名与子域名;没有此前缀的条目按其实际语法解释。这些是域名匹配条件,后面没有写 DIRECT 或代理组,所以仍需为集合指定动作。

阅读完整上游文本清单

03 · 开始前,准备好这三件事

  1. 先备份当前配置。导出或复制当前正在使用的配置,并记录修改前的策略。已经有自定义规则时,保留它们;不要把本页片段当成完整订阅覆盖进去。
  2. 确认软件的内核。在“关于”或版本信息中找到内核名称。Mihomo 用 MRS;sing-box 用 SRS。只修改文件后缀不能转换格式。
  3. 确认已有连接能工作。本教程只添加分流。如果本来就无法连接,先完成客户端与节点设置。需要代理时,记下现有代理组的准确名称,包含空格和符号。
本规则的使用方向:DIRECT 直连

Mihomo 的 DIRECT 是内置直连策略,不必新建同名代理组。sing-box 的 direct 则是出站标签,需要在配置中实际定义。

如果使用带订阅的客户端,优先采用它提供的规则编辑或扩展功能。直接修改下载下来的订阅原文,可能在下次更新时被覆盖。

04 · Mihomo:按图添加规则

下面以 Clash Verge Rev 为例。其他 Mihomo 客户端的菜单可能不同,但都需要两部分:先定义规则集,再添加引用它的路由规则。

1

确认规则模式,找到当前订阅

让客户端使用规则模式,打开订阅或配置列表,确认正在启用哪一份。先备份这份配置与已有扩展。全局代理或全局直连模式可能让你看不到预期的规则结果。

2

添加规则集定义

打开用于当前订阅的“扩展配置”编辑器,把下方 rule-providers 片段合并进去。如果原来已有这个顶层字段,把 science-cn 这一项加在它下面,不要再写第二个同名顶层字段,也不要删掉原有集合。

YAML · 规则集定义
rule-providers:
  science-cn:
    type: http
    behavior: domain
    format: mrs
    path: ./rules/science-cn.mrs
    url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"
    interval: 86400

type: http:通过链接获取远程规则。

behavior: domain:本页是域名集合;不要改成 ipcidr。

format: mrs:对应下面的 MRS 文件。

path:客户端保存规则的相对路径,不同集合应避免使用相同文件名。

interval: 86400:设置约一天检查一次更新;实际更新成功与否要看客户端记录。

保存后让当前配置重新生效。若提示 YAML 错误,先检查缩进是否使用空格、冒号后的空格是否保留,以及是否重复了同名字段。

3

在订阅中打开“编辑规则”

回到当前订阅卡片,右键打开菜单并选择“编辑规则”。下图为本站绘制的操作流程示意,用于帮助你找到入口;实际菜单可能随版本变化。

Clash Verge Rev 规则编辑流程示意:找到当前订阅,在右键菜单中选择编辑规则。
图 2 · 科学之家原创操作流程示意,非软件截图。 参考来源
4

填入本规则,选择实际策略

规则类型选择 RULE-SET,规则内容填写 science-cn,代理策略选择 DIRECT。

规则类型RULE-SET
规则内容science-cn
代理策略DIRECT
插入位置添加前置规则,再检查现有例外和规则的先后次序
Clash Verge Rev 官方规则编辑表单:规则类型、规则内容、代理策略、前置规则和保存按钮。
图 3 · 官方截图展示的是另一条 DOMAIN-SUFFIX 示例;本教程应填写上方表格中的 RULE-SET 和集合名称,不要照抄截图里的 .cn。 参考来源

如果你正在维护原生 YAML,等价规则如下。只把这一条加入已有 rules 列表,并放在需要优先于它的例外之后、兜底 MATCH 之前。

YAML · 合并到已有规则列表
rules:
  - RULE-SET,science-cn,DIRECT

不要在“扩展配置”里直接用这段短 rules 列表覆盖整个原列表。Clash Verge Rev 的配置合并不等于在旧规则前追加;使用“编辑规则”可以保留订阅原有规则。

5

保存、重载,再检查顺序

保存规则并让配置重新生效。如果出现“规则集不存在”,核对两处集合名称;出现“代理不存在”,核对策略组名。先解决加载错误,再继续验证网络连接。

规则顺序图:必要例外、具体服务、较大的分类、最终兜底;连接从前向后检查。
图 4 · 顺序示意。已有的局域网、DNS 处理等配置应保留;按实际需求排列,本图不是可以整段替换的配置。
  • 先为确实需要单独出口的网站设置更具体的规则,再放这份国内直连规则。
  • 保留原配置中的局域网处理,家里的打印机、NAS 与路由器管理不应依赖 cn 网站名单。
  • 某一个域名需要代理时,为这个域名单独添加例外,不必把整份 cn 清单都改为代理。

05 · sing-box:分清规则集和出站

如果你用的是 Mihomo,可以直接跳到下一节验证。sing-box 的字段与 YAML 不同,以下使用 JSON;这里只展示需要合并的片段,不是可以独立启动的完整配置。

  1. 确认客户端支持编辑原生 sing-box 配置,并备份当前文件。不会开放原生配置的封装客户端,应使用该软件自己的规则功能。
  2. 把下方集合对象追加到原有 route.rule_set 数组,把路由对象加进 route.rules 中适合的位置。保留其他路由、DNS 处理、入站、出站与默认出口。
  3. 确认 outbounds 已有标签为 direct 的直连出站;没有时再合并添加 {"type":"direct","tag":"direct"},避免重名。
  4. 选择符合内核版本的下载配置后,保存并使用客户端配置检查功能,再重载连接。
JSON · 路由片段,使用 action 语法(sing-box 1.11+)
{
    "route": {
        "rule_set": [
            {
                "type": "remote",
                "tag": "science-cn",
                "format": "binary",
                "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs",
                "update_interval": "1d"
            }
        ],
        "rules": [
            {
                "rule_set": [
                    "science-cn"
                ],
                "action": "route",
                "outbound": "direct"
            }
        ]
    }
}
按 sing-box 版本处理远程下载

1.11–1.13:上面未指定下载出口,使用这一时期内核的默认行为;若需要明确经由已有出口下载,可在该 rule-set 对象里增加 download_detour,其值必须是已定义的出站标签。

支持 http_client 的 1.14 及后续版本:在同一个远程 rule-set 对象里明确添加 HTTP 客户端配置。例如通过已存在的出站获取规则:

添加到远程 rule-set 对象中的字段
"http_client": {
  "detour": "你的规则下载出站标签"
}

替换标签后与其他字段用逗号分隔。不要给旧版内核添加不认识的 http_client。官方文档标明 download_detour 自 1.14 起弃用、计划在 1.16 移除;按你实际内核版本选用,避免两个写法混用。

下载规则使用的出口与命中规则后的访问出口是两回事。例如广告规则最终执行 reject,但获取广告清单仍需要可用的网络连接。

没有图形配置检查入口时,可对已合并好的完整配置执行:

终端 · 检查配置,不会替你补齐出站
sing-box check -c config.json

如果报格式或版本错误,先恢复备份并查看官方迁移说明。不要把 .mrs 改名成 .srs,两者不是同一种文件格式。

06 · 怎样确认规则真的生效?

能打开网页不等于命中了新规则。请同时检查 请求目标、匹配规则、最终出口 这三项;下面是针对国内域名的检查步骤。

  1. 开启连接记录后,重新打开 www.baidu.com,并搜索这次新建立的连接。
  2. 检查匹配规则是否包含 science-cn,出口是否为 DIRECT;sing-box 中应指向你的 direct 出站。
  3. 再打开一个已配置为代理的服务,确认它仍使用原来的代理组,避免把所有访问都改成直连。

读日志时对照这些字段 · 示例,不是你的实时数据

请求目标
www.baidu.com
期望的规则集
science-cn
期望的处理方式
DIRECT 直连

不同软件的日志字段名称可能不同。新规则保存后,请关闭并重新建立测试连接;已有的长连接未必立即切换。规则模式正确、集合成功加载、连接确实进入客户端,是排查的三个起点。

07 · 常见问题与恢复方法

国内网站仍显示走代理,怎么办?

先看命中的规则名称。若显示另一个规则或进程规则,说明它排在 cn 前面;若显示全局模式,先切回规则模式。不要仅根据网页能否打开判断分流。

能不能只用一条 .cn 后缀规则?

不能把它当作完整替代。许多国内服务使用 .com 等后缀,cn 清单的用途就是维护这类更广的域名分类。

导入后公司内网打不开了怎么办?

先恢复备份,检查原有内网和局域网例外是否被覆盖。添加规则集只需合并相关字段,不应删除原配置中的其他规则。

浏览器能走代理,其他软件却没有命中规则?

系统代理只覆盖遵循该设置的程序,部分程序使用自己的代理设置或直接连接。先在客户端日志确认目标程序是否出现;没有记录时检查接管方式与分应用设置。只有客户端明确支持并完成所需配置时才使用 TUN;仅添加规则不能接管原本未进入客户端的流量。

域名规则已命中,为什么仍有部分图片、登录或视频失败?

同一服务往往分别使用页面、账号、图片和媒体域名。先查看失败请求的真实目标与最终出口,再判断是否缺少规则、命中拦截或出口不可用。应用直连 IP、IPv6 或 UDP 的连接也可能走不同路径;按对应软件文档检查,不能只凭首页成功认定全部请求都正常。

更新后提示不认识字段,怎样判断是语法还是版本问题?

记录当前客户端和内核版本,查该版本支持的字段与规则格式。先使用配置检查功能查看具体行号:缩进、逗号等属于文件语法,unknown field 一类提示还可能是功能版本不匹配。恢复备份确认原配置可用后,再按官方迁移说明逐项调整。

提交问题反馈时应该准备什么?

提供客户端与内核版本、设备系统、问题出现步骤,以及脱敏后的目标域名、命中规则、出站名称和错误码。保留一份能正常工作的配置用于对照;不要公开完整订阅地址、账号密钥或包含认证信息的日志。

改完后出问题,按这个顺序恢复

  1. 先暂停本次新加的路由规则,保留原订阅;重载后重新测试。
  2. 如果恢复正常,核对新规则的名称、类型、策略与位置,一次只改一项。
  3. 需要完全撤销时,先删除引用此集合的规则,再删除对应 rule-provider 或 rule-set 定义,避免留下“规则集不存在”的引用。
  4. 仍无法判断时,导入修改前的备份,并保留不含账号和密钥的错误信息用于排查。

08 · 规则下载与资料来源

需要远程订阅时,复制下方文件地址填到对应字段;手动保存的本地文件不会自动跟随上游更新。

Mihomo · MRS

域名集合,behavior 使用 domain。

打开 MRS 文件
远程规则地址
https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs

sing-box · SRS

二进制规则集,format 使用 binary。

打开 SRS 文件
远程规则地址
https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs

图文整理:科学之家。规则填写窗口截图来自 Clash Verge Rev 官方文档并保留来源;编辑入口、分流过程与顺序图为本站绘制的教学示意。上游规则与软件菜单可能变化,请以实际版本和日志为准。