Clash如何设置绕过代理的域名?
简答:Clash绕过指定域名,先判断是系统代理绕过还是规则直连;通常在 mihomo 规则中添加 DOMAIN 或 DOMAIN-SUFFIX 指向 DIRECT,并放在相关代理规则和 MATCH 之前。
定义:Clash中的“绕过代理”通常是让目标域名匹配 DIRECT 直连策略,而不是把所有流量切换为全局直连模式。
先判断要改哪一层:系统代理、Clash规则还是TUN
如果你只是希望某个网站或内网域名直连,最容易改错的地方是把“系统代理绕过列表”和“Clash规则直连”当成同一项。它们处理的流量范围不同:系统代理绕过通常由操作系统或客户端的代理设置决定;Clash规则则由 mihomo 内核按域名、IP、进程等条件匹配;TUN模式还会接管部分原本不读取系统代理的应用。
本文主要覆盖 Clash Verge Rev 与 mihomo/Clash Meta。不同版本的菜单名称、规则编辑入口和配置覆盖方式可能变化,FlClash、Android 客户端以及旧版客户端不直接套用本文菜单路径,应以当前客户端实际界面和内核文档为准。
| 场景 | 应该先检查 | 适合的处理方式 |
|---|---|---|
| 浏览器已经使用系统代理,只有少数域名不想走代理 | 系统代理设置和客户端的绕过列表 | 使用客户端提供的系统代理绕过入口;具体名称以实际版本为准 |
| 希望按域名决定直连或代理 | 当前运行配置中的 rules | 添加 DOMAIN 或 DOMAIN-SUFFIX 指向 DIRECT |
| 应用不读取系统代理,或需要接管更多系统流量 | TUN、路由和DNS接管状态 | 确认应用流量确实进入当前 mihomo 内核后,再检查规则命中 |
最快解法:如果你使用的是 Clash Verge Rev 或基于 mihomo 的客户端,先添加一条最小的 DOMAIN-SUFFIX,example.com,DIRECT 规则,重载配置后查看连接记录是否显示 DIRECT。不要一开始同时修改规则、TUN和DNS。
Clash如何设置绕过代理的域名:DOMAIN与DOMAIN-SUFFIX
mihomo的路由规则按从上到下的顺序匹配,排在前面的规则优先级更高。官方文档将 DOMAIN 定义为完整域名匹配,将 DOMAIN-SUFFIX 定义为域名后缀匹配;MATCH 会匹配所有未被前面规则处理的请求。查看 mihomo Route Rules 文档
| 需求 | 规则示例 | 是否匹配 |
|---|---|---|
| 只让一个完整主机名直连 | DOMAIN,example.com,DIRECT | 匹配 example.com;不等同于所有子域名 |
| 主域名和所有子域名直连 | DOMAIN-SUFFIX,example.com,DIRECT | 匹配 example.com、www.example.com 等 |
| 按域名中的关键词匹配 | DOMAIN-KEYWORD,example,DIRECT | 可能匹配包含相同字符串的无关域名 |
例如,DOMAIN-SUFFIX,example.com,DIRECT可以匹配example.com和api.example.com,但不会匹配content-example.com。因此,需要覆盖主域名及子域名时,优先使用 DOMAIN-SUFFIX;只有在你确实需要宽泛关键词匹配时,才考虑 DOMAIN-KEYWORD。
如果网页能打开但图片、接口或登录失败,不能只看地址栏中的一个域名。浏览器页面可能还会请求静态资源、接口、登录或验证域名,应在 Connections 或日志中查看实际请求主机名,再分别决定是否加入规则。
Clash Verge Rev中如何保留直连规则
Clash Verge Rev官方用户指南说明,Remote和Local是主要配置,Merge和Script等属于用于修改主配置的增强配置。Remote配置可以通过刷新按钮更新;Merge配置可以对主配置中的字段进行前置或后置处理,也可以覆写部分Clash字段。查看 Clash Verge Rev User Guide
- 打开 Clash Verge Rev 的配置或 Profiles 页面,确认正在使用的配置卡片,而不是只编辑了未启用的配置。
- 优先使用客户端提供的规则编辑、Merge或Script等扩展入口,不要把远程订阅下载得到的原始YAML当作长期编辑文件。
- 加入一条最小规则,例如
DOMAIN-SUFFIX,example.com,DIRECT。如果只需要主域名,则使用DOMAIN,example.com,DIRECT。 - 将自定义直连规则放在可能命中目标域名的代理规则之前,并确认
MATCH没有提前出现。 - 保存后重新激活或刷新当前配置,再到运行中的规则列表和连接记录确认修改已经进入实际配置。
需要注意的是,Clash Verge Rev的版本和界面可能影响入口名称。官方指南确认了Profiles、Remote、Local、Merge和Script等配置类型,但具体版本是否显示“编辑规则”“扩展配置”或其他名称,应以你当前安装版本的界面为准。无法在当前资料中核实的菜单名称,不应直接当作所有版本通用路径。
不要直接修改远程订阅原文件作为长期方案。远程配置刷新后,原始内容可能被重新下载。使用客户端支持的Merge、Script或规则编辑功能,才能把自定义内容与订阅内容分开管理;如果扩展功能在你的版本中名称不同,请以当前版本文档为准。
mihomo配置文件中的最小可复制示例
如果你直接维护mihomo配置文件,可以在现有配置的 rules 列表中加入规则。下面只展示结构,不代表完整配置:
rules:
- DOMAIN,example.com,DIRECT
- DOMAIN-SUFFIX,example.org,DIRECT
- MATCH,PROXY
重要:示例中的 PROXY 只是占位名称,不能保证你的配置中存在这个策略组。复制前请把它替换成当前配置中真实存在的代理组名称;如果名称不存在,可能导致配置校验失败或规则无法按预期工作。
同时,不要把多条规则写成一个没有引号的逗号列表。例如下面这种写法容易被YAML解析成多个列表元素,而不是两条完整规则:
rules: [DOMAIN-SUFFIX,example.org,DIRECT,MATCH,PROXY]
更稳妥的写法是每条规则独立占一行:
rules:
- "DOMAIN-SUFFIX,example.org,DIRECT"
- "MATCH,PROXY"
- 规则目标:
DIRECT是直连策略;兜底策略必须改为你配置中实际存在的策略组。 - 规则顺序:目标域名规则应放在会提前命中的代理规则和
MATCH之前。 - 配置来源:如果规则来自远程订阅,优先使用客户端支持的覆盖或扩展机制,不要只改下载文件。
- 版本边界:字段支持和扩展处理方式以当前mihomo及客户端文档为准,旧版内核不能默认支持全部新字段。
mihomo官方规则文档列出了 DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、RULE-SET和MATCH等类型,并明确规则从上到下匹配。核对规则类型与优先级
设置后仍走代理:按最小闭环验证

配置写入后,不要只凭网页能否打开判断是否成功。按照“重载—访问—查看连接—核对实际域名—再查接管方式”的顺序,能够更快分清是规则问题还是流量根本没有进入当前内核。
- 重载配置:保存规则后重新激活或刷新当前配置,确认没有YAML解析错误。
- 访问目标:打开目标域名,最好同时触发页面中的主要功能,例如登录、接口请求或文件加载。
- 查看Connections或日志:确认实际请求的主机名、命中的规则和最终策略是否为
DIRECT。 - 核对域名范围:如果实际请求是
api.example.com,而你只写了DOMAIN,example.com,DIRECT,就可能没有命中。 - 检查规则顺序:查看前面是否已有
RULE-SET、GEOSITE、DOMAIN或其他更早命中的规则。 - 确认应用接管:系统代理只影响遵循系统代理的应用;不遵循系统代理的应用可能需要TUN或应用自身的代理设置。
- 最后检查DNS:如果连接记录已显示
DIRECT,但仍打不开,再检查DNS、Fake-IP、DNS劫持、权限和防火墙。
| 现象 | 优先判断 | 建议 |
|---|---|---|
| 连接记录显示代理组 | 规则未命中或前面已有更早规则 | 检查实际域名、规则顺序和策略名称 |
| 连接记录显示DIRECT但网页打不开 | 直连策略已命中,问题可能在DNS或目标网络 | 检查DNS解析、Fake-IP、网络权限和防火墙 |
| 浏览器生效,桌面应用不生效 | 应用可能不读取系统代理 | 确认应用自身代理设置,或检查TUN是否接管 |
| 订阅更新后规则消失 | 规则被写入远程配置原文件 | 改用客户端支持的扩展、覆盖或本地规则入口 |
mihomo文档说明,TUN可以参与系统流量接管和DNS处理,但具体接管范围还受到路由、DNS模式、平台权限和排除规则影响。查看 mihomo TUN 配置说明
DNS、Fake-IP与域名直连的关系
域名规则决定请求最终使用哪个出站策略,例如 DIRECT或某个代理组;DNS则负责把域名解析为地址,二者不是同一个环节。因此,看到规则命中 DIRECT,并不等于DNS一定使用系统默认解析,也不等于目标地址一定可以直接访问。
mihomo的DNS文档列出了 enhanced-mode、fake-ip、nameserver-policy、direct-nameserver等配置项,并说明DNS请求可能遵循规则或进入内部DNS模块。查看 mihomo DNS 配置文档
- 如果规则显示代理而不是直连,先修正规则类型和顺序,不要先改DNS。
- 如果规则显示直连但解析失败,再查看DNS服务、域名策略和Fake-IP过滤。
- 如果只有TUN模式异常,检查TUN是否启用、DNS模式是否接管、应用是否被排除。
- 如果是局域网域名或内网服务,确认目标域名、局域网地址和应用是否被当前路由接管。
排查时建议一次只改一个变量:先用单条 DOMAIN-SUFFIX规则验证直连,再根据连接记录决定是否需要处理TUN或DNS。这样可以避免把多个改动叠加后无法判断真正原因。
Clash绕过代理域名常见问题
Clash如何设置绕过代理的域名?
在当前mihomo规则中添加指向 DIRECT 的 DOMAIN或DOMAIN-SUFFIX规则,并放在相关代理规则和MATCH之前。只匹配完整主机名用DOMAIN,需要覆盖主域名和子域名用DOMAIN-SUFFIX。
DOMAIN和DOMAIN-SUFFIX有什么区别?
DOMAIN匹配完整域名,适合单个明确主机名;DOMAIN-SUFFIX匹配域名后缀,适合主域名及其子域名。它不会把content-example.com误当成example.com的子域名。
为什么设置DIRECT后还是走代理?
优先检查实际请求域名、规则顺序、MATCH位置和策略名称。还要确认应用是否经过系统代理或TUN;如果应用没有进入当前内核,写对规则也不会看到效果。
Clash Verge Rev的规则入口为什么和教程不一样?
Clash Verge Rev的配置类型和菜单可能随版本变化。本文只把官方用户指南确认的Profiles、Remote、Local、Merge和Script作为配置层说明,具体入口名称应以当前版本界面为准;无法核实的菜单不要直接照搬。
远程订阅更新后直连规则消失怎么办?
不要只修改远程订阅下载得到的原始配置,改用当前客户端支持的Merge、Script、规则编辑或其他覆盖机制。更新后重新激活配置,并在运行规则列表中确认自定义规则仍然存在。
DOMAIN-KEYWORD可以替代DOMAIN-SUFFIX吗?
不建议默认替代。关键词规则可能匹配到名称中包含相同字符串的无关域名;如果目标是主域名和子域名,使用DOMAIN-SUFFIX更容易限定范围。
常见问题
Clash如何设置绕过代理的域名?
在mihomo规则中添加指向DIRECT的DOMAIN或DOMAIN-SUFFIX规则,并将它放在相关代理规则和MATCH之前。只匹配主机名用DOMAIN,覆盖主域名及子域名用DOMAIN-SUFFIX。
Clash域名直连应该用DOMAIN还是DOMAIN-SUFFIX?
只处理一个完整域名时用DOMAIN;需要同时处理主域名和子域名时用DOMAIN-SUFFIX。DOMAIN-KEYWORD范围更宽,不适合默认替代后者。
Clash设置DIRECT后为什么仍然走代理?
先看Connections或日志中的实际域名、命中规则和策略,再检查规则顺序、MATCH位置、策略组名称,以及应用是否经过系统代理或TUN。
Clash Verge Rev中手动修改订阅文件可以长期保留吗?
不建议。远程配置刷新可能重新下载原文件,导致手动修改消失。应使用当前版本支持的Merge、Script、规则编辑或其他覆盖入口。
DIRECT已经命中但网站仍打不开怎么办?
这说明规则层可能已经生效,应继续检查DNS、Fake-IP、TUN接管、网络权限和防火墙,而不是继续重复添加域名规则。
相关阅读
参考资料
- mihomo 官方文档:Route Rules
- mihomo 官方文档:DNS Configuration
- mihomo 官方文档:TUN 配置
- Clash Verge Rev User Guide:Profiles、Remote、Local、Merge 与 Script(clashvergerev.com)