先分清模式与接管范围
规则模式按配置选择出口,全局模式通常把已进入内核的请求交给全局策略,直连模式则选择直连。模式开关不等于接管开关:某个软件没有使用系统代理,也没有被 TUN 接管时,改成全局仍可能对它无效。以下规则示例针对 Mihomo,不应原样粘贴进 sing-box。
- 保持同一网络、同一目标页面,在规则与全局之间各测试一次,并记录两种模式实际使用的节点。
- 打开连接记录,刷新目标页面。如果找不到对应请求,先检查应用自己的代理、系统代理和 TUN 范围。
- 找到请求后记录域名、命中的规则、策略组及最终节点。策略组的名字不一定等于当前出口,组内仍可能选中了 DIRECT。
从连接记录判断是哪一类错误
| 观察结果 | 更可能需要检查的地方 |
|---|---|
| 请求没有出现在内核里 | 应用绕过系统代理、其他 VPN、TUN 排除项 |
| 命中 DIRECT,实际应走代理 | 更靠前的直连规则或兜底策略 |
| 命中了正确组,仍然失败 | 组内选项、节点可用性、UDP 支持 |
| 首页正常,登录或视频失败 | API、验证码和媒体域名可能走不同规则 |
| 修改当天有效,更新订阅后失效 | 改动只写进了会被替换的生成配置 |
规则从上往下检查,具体规则应放在兜底前
Mihomo 文档说明顶部规则优先。DOMAIN 匹配完整域名,DOMAIN-SUFFIX 匹配域名本身及其子域名,MATCH 是无条件兜底。已有宽泛规则提前匹配时,末尾新加的精确规则没有机会改变该请求。UDP 还受节点能力影响,日志中的实际结果比仅看规则文本更可靠。
rules:
- DOMAIN,api.example.com,PROXY
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,PROXY在这个例子中 api.example.com 先命中第一条;www.example.com 命中第二条。example.com 是示例域名,不能照抄来修复你正在使用的网站。也不要用这三行替换整份订阅的 rules:那会丢掉原有规则。需要的是在备份副本中,把目标域名的最小规则插入合适位置。
让本地修正能经受订阅刷新
- 先导出当前配置和客户端的覆写、合并或自定义规则设置,记下正在使用的配置名称。
- 如果客户端提供持久的本地覆写入口,按该客户端说明添加规则,并确认插入位置在相关宽泛规则之前。不要只编辑运行时临时文件。
- 保存并重新加载;查看最终生效配置,而不只看编辑器内容。组名不存在、缩进错误或合并位置不对都可能让规则失效。
- 关闭目标应用后重新打开,创建新连接,再看命中。已有长连接不一定因规则修改立即换路。
不要为了一个网站把所有域名都强制代理,也不要凭首页域名猜出整个服务的依赖。通过失败请求逐项确认,优先补精确域名;规则扩大前明确会影响哪些子域名。分享截图时隐藏认证信息、内网地址和不必要的访问记录。
验收与回退
- 恢复日常规则模式,完成实际登录、下载或播放操作,并检查一个应直连的网站和局域网服务。
- 刷新一次订阅,再重新加载客户端,确认新增规则仍在、顺序正确、出口符合预期。
- 如果出现新问题,停用这一条本地覆写并重新加载;从备份恢复前先确认没有覆盖后来新增的有效配置。