客户端教程
Shadowrocket 规则设置:写一份自己的配置
把"全局路由"设成"配置",规则才会起作用。
先看结论
Shadowrocket 规则设置依赖配置文件:General 段放通用设置,Rule 段放分流规则,最后用 FINAL 兜底。全局路由必须选"配置",这份规则才会生效。
一份最小的配置示例
[General]
bypass-system = true
dns-server = system
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY- DOMAIN-SUFFIX
- 按域名后缀匹配。
- IP-CIDR
- 按 IP 段匹配。
- GEOIP
- 按目标 IP 所在地区匹配。
- FINAL
- 兜底规则,处理前面都没命中的流量,通常写在最后。
步骤
新建配置
进入应用的"配置"页,新建或导入一个配置文件。
预期画面配置列表里出现新条目,其中一条被标记为当前使用。
编辑规则
在配置里按上面的格式写规则,保存。
切换全局路由为"配置"
回到首页,确认全局路由选择的是"配置"。
验证
访问对应网站,确认走向符合预期。
规则类型速查
| 类型 | 匹配什么 | 示例思路 |
|---|---|---|
| DOMAIN | 完整域名 | 某个站点只走特定策略 |
| DOMAIN-SUFFIX | 域名后缀 | 一个网站及其所有子域名 |
| DOMAIN-KEYWORD | 包含关键词的域名 | 一类名称相近的站点 |
| IP-CIDR | IP 段 | 局域网、特定网段 |
| GEOIP | 目标 IP 所在地区 | 按地区兜底 |
| FINAL | 兜底 | 所有没命中的流量 |
四种全局路由,到底怎么选
| 全局路由 | 行为 | 适合 |
|---|---|---|
| 配置 | 按配置里的规则分流 | 日常使用 |
| 代理 | 所有流量走代理 | 临时排错,判断问题在规则还是节点 |
| 直连 | 所有流量直连 | 临时停用代理 |
| 场景 | 按预设的场景分流 | 想快速套用而不自己写规则 |
规则集订阅
除了手写规则,应用还支持引用外部的规则集,让规则随上游更新。使用时要注意两点:第一,规则集的格式需要应用能识别;第二,规则集的策略要写成你配置里存在的名称,否则不会命中。规则集由别人维护,内容可能随时变化,所以不要把它当作"一次设置、永远可靠"的东西,偶尔检查一下是否仍在正常更新。
调试:怎么知道一条规则有没有命中
- 打开应用的连接或日志功能,访问目标网站,产生记录。
- 在记录里找到对应的域名,看它使用的策略。
- 如果和预期不符,检查是否有更靠前的规则先命中,或者策略名称是否拼错。
- 修改后重新连接,让旧的连接失效。
关于「Shadowrocket规则设置」的常见问题
为什么我写的规则不生效?
先确认全局路由是否选择了"配置",再检查规则顺序,FINAL 之后的规则不会被匹配。
规则可以从网址导入吗?
应用支持引用外部规则集,具体入口以应用内显示为准。
配置文件可以导入导出吗?
应用支持管理多份配置,具体的导入、导出入口以应用内显示为准。迁移到新设备时,直接导入配置文件是最省事的做法。
小火箭规则怎么设置?Shadowrocket配置文件怎么导入?
在"配置"页可以导入远程或本地的配置文件,规则在其中的 [Rule] 部分定义。小火箭规则的匹配顺序同样是从上到下,导入第三方配置前先看清它会改动哪些规则。