科技熊工作室科技熊工作室 · 攻略

Stash 订阅更新后规则不生效怎么办?

更新于 2026-10-27 · kejibear.shop

简答:先不要重复更新订阅:打开 Stash,确认刚更新的配置就是当前启用配置,再把模式切到 Rule,检查 Override 是否启用、规则顺序是否正确,最后用请求记录确认目标域名实际命中了哪条规则。若订阅本身更新失败,应先处理链接、网络或格式问题;若更新成功但分流错误,则重点检查规则命中和策略组。本文按7步完成定位。

定义:Stash 订阅更新后规则不生效,通常是当前配置、代理模式、Override、规则顺序、策略组或规则数据其中一层没有按预期生效,而不一定代表订阅链接失效。

先做这张速查表:你看到的现象对应哪一层

Stash 的配置文件、规则和订阅是不同层次。先根据现象分流,能避免把“订阅没更新”和“规则已经命中但策略组不对”混在一起。Stash 的配置文件使用 YAML,配置文件与 Override 分开管理,Override 对配置字段具有更高优先级。Stash 配置示例

Stash 订阅更新后规则异常的快速判断
现象优先检查下一步
更新时间没有变化,节点列表也没变化订阅地址、网络连通性、更新结果重新执行一次更新,查看是否有解析或下载错误
节点更新了,但自定义规则消失是否直接改了订阅配置文件把长期修改迁移到 Override,并确认 Override 已启用
规则看起来存在,但目标域名仍走错线路代理模式、规则顺序、策略组名称在请求记录或连接记录中确认实际命中结果
只有部分域名异常规则类型、规则集、DNS 或 GEOIP 数据用不同类型域名分别测试,不要只测一个站点

如果你只想先试一个动作:确认当前启用配置的名称和更新时间,再确认模式是 Rule。这两项不对,后面的规则检查都可能是在检查错误的配置。

7步排查 Stash 订阅更新后规则不生效

  1. 确认当前使用的是刚更新的配置。

    在配置文件列表中核对当前选中的文件,不要只看某个远程配置的更新时间。Stash 的官方快速开始流程要求下载配置后选中要使用的配置,再回到主页启动。Stash Quick Start 如果你更新的是配置 A、实际启用的是配置 B,规则不会按 A 的变化执行。

  2. 手动更新一次,并记录结果。

    执行一次订阅更新后,检查更新时间、节点列表和配置解析结果。若更新时间不变,优先检查订阅地址是否仍可访问,以及当前网络是否能打开该地址;若出现格式解析错误,不要继续修改规则,先处理配置文件本身。

  3. 确认运行模式是 Rule。

    Stash 配置支持 rule、global 和 direct 等模式。规则分流需要运行在 Rule 模式;Global 或 Direct 会改变规则的实际作用。配置示例中的模式说明 若界面名称与本文不同,以当前版本显示的功能名称为准。

  4. 检查 Override 是否启用。

    如果你把自定义规则写进远程订阅生成的配置文件,下一次更新可能用新的远程内容替换它。长期自定义应放在 Override 中。官方说明显示,Override 可以修改托管或订阅配置,多个 Override 会按顺序叠加;数组默认插入到原数组前面,也可以用 #!append 放到末尾。Stash Override 文档

    检查三点:Override 文件是否已安装、是否处于启用状态、修改后是否完成保存并应用。若 Override 未启用,即使文件内容正确,也不会影响当前配置。

  5. 检查规则顺序和目标策略组。

    Stash 按规则从上到下匹配,先匹配到的规则会影响后续结果。Stash 规则类型说明 因此,过于宽泛的 DOMAIN-SUFFIX、GEOIP 或 MATCH 规则可能先于你的自定义规则命中。

    同时核对规则最后写入的策略组名称是否真实存在。规则语法正确但策略组名称拼错,仍可能无法按预期分流。若想让自定义规则优先,通常应将其放在前面;如果只是兜底规则,再考虑使用 #!append。

  6. 用请求记录或连接记录确认“实际命中了什么”。

    不要只根据网页能否打开判断规则是否生效。Stash 的 HTTP API 文档列出了连接记录、请求记录和当前生效规则等调试信息;支持这些页面的版本也可能在应用中以 Connections、HTTP Inspection 或相近名称显示。Stash HTTP API

    测试一个目标域名后,记录四项:目标域名、命中的规则、使用的策略组或代理链、最终连接结果。如果命中的是旧规则,问题多半在规则顺序或当前配置;如果命中规则正确但连接失败,再转向节点、DNS、MTU 或网络排查。

  7. 重新加载配置并复测。

    修改 Override、规则或策略组后,保存并应用配置;必要时停止并重新启动 Stash 的 VPN 连接,再测试至少三类目标:应走代理的域名、应直连的域名、使用不同规则类型的域名。只测试一个域名,无法判断是规则范围问题还是整体配置问题。

三类容易混淆的问题,处理方法不同

1. 订阅没有更新

表现是更新时间、节点或配置内容都没有变化。优先检查订阅地址是否可访问、当前网络是否能下载、服务端返回内容是否仍是有效的 Stash/Clash 格式。此时先不要排查规则顺序,因为新配置可能根本没有下载成功。

2. 订阅更新成功,但规则没有加载

表现是节点列表已变化,但新增规则或 Override 没有出现在当前生效配置中。重点检查是否启用了正确配置、Override 是否启用、YAML 缩进是否正确,以及配置是否在保存后重新应用。Stash 文档明确说明配置使用 YAML,缩进会影响整体结构。配置文件格式说明

3. 规则已加载,但命中结果不对

表现是请求记录显示规则存在,却走了错误的策略组或线路。重点检查规则从上到下的顺序、宽泛规则是否提前命中、策略组名称是否一致,以及当前是否处于 Rule 模式。规则集还可能有自己的远程数据更新状态;Stash 的 Rule Sets 文档说明,规则集需要在 rule-providers 中声明,再由 RULE-SET 引用。Stash Rule Sets 文档

自定义规则应该放在哪里?

如果配置来自远程订阅,直接修改订阅生成的主配置文件不适合作为长期方案,因为下一次远程更新可能重新生成或覆盖该文件。更稳妥的做法是使用 Override,将需要长期保留的规则、策略组或 DNS 修改独立保存。

Override 的合并行为与 Stash 版本有关,本文不把不同版本的界面按钮名称当作完全一致;如果当前版本没有对应入口,应以应用内帮助或当前官方文档为准。

修复后的验收清单

如果规则命中正确但仍然连接失败,说明问题可能已经离开规则层,应继续检查节点连接、DNS 解析、MTU、丢包或系统网络,而不是反复修改规则。

常见问题 FAQ

Stash 更新订阅后自定义规则为什么消失?

最常见原因是直接修改了订阅生成的配置文件,下一次更新后远程内容重新覆盖了修改。需要把长期自定义内容迁移到 Override,并确认 Override 已启用。

节点更新了,但规则还是按照旧配置走,怎么办?

先确认当前启用的配置是否就是刚更新的那份,再确认模式为 Rule,然后查看请求记录中的实际命中规则。更新了未启用的配置,不会改变当前分流结果。

Override 已启用,规则仍然不生效怎么办?

依次检查 YAML 缩进、Override 保存与应用状态、规则顺序、策略组名称和当前模式。若规则已经出现在生效配置中,再通过连接或请求记录判断是否被更早的规则命中。

规则写对了,为什么只有部分域名不生效?

可能是规则类型或匹配范围不同,例如域名规则、IP 规则和规则集的判断条件不同。分别测试多个域名,并记录每个目标实际命中的规则,不要只根据单个站点下结论。

更新订阅失败时,是否应该先改规则?

不建议。先确认订阅地址、网络连通性和返回格式;只有确认配置更新成功后,才适合继续排查 Override、规则顺序和策略组。

iOS 和 macOS 的 Stash 菜单名称不一致怎么办?

本文按配置、Override、模式、规则和请求记录等功能名称组织,不假设所有版本使用相同按钮名称。若入口不同,请以当前版本界面显示为准,避免把相近菜单当成同一功能。

参考资料

Stash Quick Start:配置导入、选择当前配置与启动流程。

Stash Override 文档:Override 的优先级、数组合并、#!append 与 #!replace。

Stash 规则类型说明:规则匹配顺序与常见规则类型。

Stash HTTP API:当前配置、连接、请求和生效规则的调试信息。

Stash Rule Sets 文档:规则集声明与引用方式。

常见问题

Stash 更新订阅后自定义规则为什么消失?

最常见原因是直接修改了订阅生成的配置文件,更新时远程内容重新覆盖了修改。长期自定义应迁移到 Override,并确认 Override 已启用。

节点更新了,但规则还是按照旧配置走,怎么办?

先确认当前启用的是刚更新的配置,再确认模式为 Rule,最后通过请求记录查看实际命中的规则。

Override 已启用,规则仍然不生效怎么办?

检查 YAML 缩进、保存与应用状态、规则顺序、策略组名称和当前模式;如果规则已加载,再看是否被更早规则优先命中。

规则写对了,为什么只有部分域名不生效?

分别检查规则类型、匹配范围、规则集和 DNS/GEOIP 数据,并测试多个不同类型的域名,避免只根据一个目标判断。

更新订阅失败时,是否应该先改规则?

不建议。先确认订阅地址、网络连通性和返回格式,确认配置更新成功后再排查 Override、规则顺序和策略组。

相关阅读

参考资料

  1. Stash Quick Start
  2. Override – Stash Wiki
  3. Configuration Example – Stash Wiki
  4. Rule Types – Stash Wiki
  5. HTTP API – Stash Wiki
  6. Rule Sets – Stash Wiki