BestVPN - 高速VPN与全能AI助手

Shadowrocket 规则怎么选择?从总体模式到匹配类型的完整判断

更新于 2026-11-03 · bv2.best

简答:Shadowrocket 规则选择,建议按“总体路由模式→规则匹配范围→请求记录验证”处理。日常需要按域名分流时,优先检查当前配置文件并选择 Config;Proxy 和 Direct 更适合临时对比代理路径与直连路径。单个完整域名用 DOMAIN,域名及其子域名用 DOMAIN-SUFFIX,只有确实需要按字符串范围匹配时才考虑 DOMAIN-KEYWORD。

定义:Shadowrocket 规则是由“匹配条件”和“处理策略”组成的分流条件,用来决定某类请求走代理、直连或拒绝;具体菜单名称和行为应以当前版本界面及配置文件为准。

先看这张表:Shadowrocket 规则到底怎么选

本文为第三方使用指南站内容,不代表 Shadowrocket 官方。Shadowrocket App Store 产品页确认其支持按域名、域名后缀、域名关键词、CIDR IP 范围和 GeoIP 等条件配置规则,也支持查看 HTTP、HTTPS 与 DNS 请求。可核对 App Store 产品页

你想解决的问题优先检查或选择原因
日常按不同网站分流Config需要由当前配置中的规则决定不同请求的处理方式;同时要核对配置文件是否已选中。
临时判断代理路径是否可用Proxy用于和 Config 结果对比,但不能据此证明某一条规则已经命中。
判断当前网络能否直连Direct用于对比直连路径;直连失败不等同于配置规则错误。
只匹配一个完整域名DOMAIN匹配范围最窄,适合明确的单一域名例外。
匹配一个域名及其子域名DOMAIN-SUFFIX适合主域名下存在多个子域名的场景。
按域名中是否包含某个字符串DOMAIN-KEYWORD范围更宽,误匹配风险也更高,不能把它当作 DOMAIN-SUFFIX 的同义写法。

最短路径:先确认连接开关已开启,再进入 Home 查看 Global Routing;需要按规则分流时检查是否为 Config,随后确认 Config 页面中选中了预期文件,最后访问一个明确的网址并查看请求记录。

Config、Proxy、Direct:先分清“模式”和“规则”

Config、Proxy、Direct属于总体路由选择;PROXY、DIRECT、REJECT则通常是规则匹配后的处理策略。两组词看起来相似,但不要把 Global Routing 里的 Proxy 直接理解成某条规则已经使用了 PROXY。

  • Config:适合日常分流。前提是当前配置文件确实包含可用规则,并且规则引用的策略名称在配置中存在。若当前版本没有显示某个菜单或字段,应以实际界面为准。
  • Proxy:适合做临时对比测试,例如同一个网址在 Config 失败时,切换到 Proxy 检查代理路径是否能访问。测试结果只能说明两种模式的表现不同,不能单独证明哪条规则命中。
  • Direct:适合对比当前网络的直连结果。如果 Direct 失败,可能与本地网络、DNS 或目标站点有关;如果 Proxy 成功而 Direct 失败,说明两条路径的结果不同,但仍需结合请求记录判断。

测试时尽量保持同一设备、同一网络和同一网址,并在切换模式后重新发起请求,不要只观察已经打开的页面。

DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD 怎么选

规则类型匹配范围适合场景常见误区
DOMAIN一个明确的完整域名只想处理某个固定主机名以为它会自动覆盖所有子域名
DOMAIN-SUFFIX主域名及其子域名同一站点有多个子域名没有确认域名边界就扩大匹配范围
DOMAIN-KEYWORD域名中包含指定字符串确实需要较宽泛的关键词匹配关键词过短,导致不相关域名也被匹配

例如,假设你只想处理 mail.example.com,可以先考虑 DOMAIN;如果希望覆盖 mail.example.com、api.example.com 等子域名,再考虑 DOMAIN-SUFFIX。如果使用 DOMAIN-KEYWORD,example,匹配范围可能明显更宽,应该在请求记录中检查是否误命中。

示例中的 example.com 只是语法演示,不代表可用服务地址。Shadowrocket 的 App Store 说明确认了这些域名匹配能力,但具体配置中的策略名称、规则来源和排序仍要看你当前导入的配置文件。查看 App Store 对规则能力的说明

IP-CIDR、GEOIP、RULE-SET 和 FINAL 什么时候用

  • IP-CIDR:按 IPv4 地址段匹配,适合规则明确给出网段的情况。域名请求是否能被 IP 规则匹配,还可能受 DNS 解析方式影响,因此不要只改规则而忽略 DNS。
  • GEOIP:按目标 IP 的地理数据库信息判断,不是按网页语言、域名后缀或你所在位置判断。数据库或解析结果变化时,实际匹配也可能变化。
  • RULE-SET:引用外部规则列表。使用前应确认列表地址可访问、格式与当前客户端兼容,并留意远程规则更新后内容可能发生变化。
  • FINAL:作为前面规则都没有匹配时的兜底处理。通常应把更具体的例外放在它前面;如果把兜底规则放得过早,后面的规则可能无法按预期参与判断。

配置样例资料通常把规则写成“类型、匹配值、策略”三部分,例如 DOMAIN-SUFFIX,example.com,PROXY。这类写法只能作为语法参考,不能说明你的配置一定存在名为 PROXY 的策略组;策略名称必须在当前配置的策略列表中核对。查看公开配置样例及规则字段参考

只让一个网站直连或走代理:可照做的操作顺序

  1. 先备份当前配置文件,避免调整后无法恢复。
  2. 确认你要处理的是完整域名、主域名及子域名,还是更宽泛的关键词。
  3. 只处理一个完整域名时,优先使用 DOMAIN;要覆盖同一主域名下的子域名时,优先考虑 DOMAIN-SUFFIX。
  4. 为规则选择现有的策略名称,例如配置中已经存在的代理策略或直连策略;不要凭空填写未在策略列表中出现的名称。
  5. 将更具体的规则放在更宽泛的规则之前,并确认兜底规则没有提前截断后续判断。
  6. 返回 Home,在 Global Routing 中选择 Config,然后重新访问目标网址。
  7. 打开请求记录,核对实际请求的主机名、命中的规则或策略,以及是否出现额外的 DNS 请求。

如果你只是想验证代理路径,不要马上改规则:可以先临时切换 Proxy 测试同一个网址;如果想确认当前网络能否直连,再切换 Direct。测试完成后恢复原来的路由模式。

规则已命中但网页仍打不开:按这个顺序排查

现象先查什么下一步
请求记录里没有目标域名连接开关、系统 VPN 权限、请求是否真的发出重新连接并用新页面或重新加载动作发起请求。
目标域名出现,但策略不是预期策略Global Routing 是否为 Config、规则顺序、匹配范围比较 DOMAIN、DOMAIN-SUFFIX 和 DOMAIN-KEYWORD 的覆盖范围。
策略名称在规则里,但配置列表找不到当前配置是否完整、远程配置是否更新在策略列表和配置文本中核对名称;不要把推断当作固定行为。
Proxy 能访问,Config 不能访问实际命中的规则、策略目标和 DNS先记录两种模式的请求结果,再只修改一个变量复测。
规则命中且策略正确,但仍打不开节点连接、DNS、TLS 或目标站点响应用同一网址比较 Proxy、Direct,并查看连接测试和请求记录。
更新订阅或远程配置后规则消失规则是否属于远程文件、更新是否覆盖本地修改备份配置;确认自定义规则应写入哪个文件,再更新并重新检查。

上表是通用排查框架,具体字段、记录名称和菜单位置可能随当前版本、设备和配置文件实现变化。App Store 页面能确认 Shadowrocket 提供请求记录与多类规则能力,但不能替你的配置文件证明某条规则一定会命中。以当前 App Store 与设备界面为准

常见问题

Shadowrocket 日常使用应该选 Config 还是 Proxy?

如果你需要不同域名使用不同处理方式,优先检查配置文件并选择 Config;如果只是临时判断代理路径是否可用,可以用 Proxy 做对比。Proxy 测试成功不代表 Config 中的规则没有问题,仍需查看请求记录和实际策略。

DOMAIN 和 DOMAIN-SUFFIX 哪个更适合新手?

只处理一个明确的完整域名时用 DOMAIN;希望覆盖该主域名及其子域名时用 DOMAIN-SUFFIX。不能因为名称相似就互换,选择前先确定你需要的匹配范围。

DOMAIN-KEYWORD 为什么容易误匹配?

因为它按域名中是否包含指定字符串判断。关键词越短,潜在匹配范围通常越宽。使用后应通过请求记录确认实际命中的域名,必要时改用 DOMAIN 或 DOMAIN-SUFFIX 缩小范围。

规则顺序为什么重要?

配置通常会按顺序检查规则,因此更具体的例外应放在更宽泛的规则前面,兜底规则应放在需要处理的规则之后。若当前配置文件或版本对顺序有特殊实现,应以实际配置说明和请求记录为准。

规则已经命中,为什么还是打不开?

命中只说明匹配条件和策略判断完成,不等于节点、DNS、TLS 或目标站点一定可用。建议依次比较 Config、Proxy、Direct 三种测试结果,并检查连接状态、DNS 请求和目标域名。

配置更新后自定义规则不见了怎么办?

先恢复备份,再确认自定义规则属于本地配置、远程配置还是远程规则集。更新后要重新检查当前激活的配置文件和规则列表,不要把一次更新结果推断为所有版本都会如此。

常见问题

Shadowrocket 日常使用应该选 Config 还是 Proxy?

需要按规则分流时优先选择 Config;只想临时测试代理路径时使用 Proxy。测试结果仍需结合请求记录和实际策略判断。

DOMAIN 和 DOMAIN-SUFFIX 有什么区别?

DOMAIN 适合一个明确的完整域名,DOMAIN-SUFFIX 通常用于覆盖主域名及其子域名。先确定需要的匹配范围,再选择类型。

DOMAIN-KEYWORD 为什么容易误匹配?

它按域名中是否包含指定字符串判断,关键词过短时范围会变宽。使用后应查看请求记录确认实际命中的域名。

规则命中后网页仍打不开怎么办?

先确认策略名称、节点连接和 DNS,再用同一网址比较 Config、Proxy、Direct 三种结果;不要只根据“已命中”判断链路一定正常。

远程配置更新后自定义规则消失怎么办?

先恢复备份,确认规则属于本地配置还是远程配置,再检查当前激活文件和远程规则集内容。具体覆盖行为需以当前版本和配置实现为准。

相关阅读

参考资料

  1. App Store:Shadowrocket 产品页
  2. GitHub:公开 Shadowrocket 配置样例与规则字段参考