跳到正文

游民营地

主题: 科技生活

【独家揭秘】看完你也是小火箭专家!Shadowrocket配置文件完全解析!【必学硬核干货】

按通用配置、策略组、小火箭订阅管理和分流规则拆解配置文件,讲清自动测速、正则筛选、组间引用,以及 Surge 与 Shadowrocket 的订阅更新差异。

作者 一只游民Developer and YouTuber

发布于 更新于 约 1 分钟读完

小火箭已经能连接,但配置文件里那一长串策略组和规则到底在忙什么?来,把文件拆开看一次。我们先对照界面认区块,再讲自动选择与分流,最后把小火箭和 Surge 的订阅管理差异分清楚。

还没导入配置的可以先看分流入门。这篇重点是读懂结构,不要求你背完所有参数,也不提供不经检查就能适配所有网络的“神配置”。

1. 配置预览:先找四个区块

打开示例配置,在改动前保存自己的原文件。示例可能继续更新,阅读时以实际内容为准。

区块用途
[General]DNS、系统流量和 IPv6 等通用行为
[Proxy Group]组织节点和其他策略组
[Rule]匹配请求并指定处理策略
[URL Rewrite]URL 改写;本篇只说明它的位置

读文件时顺着“请求命中什么规则、规则指向什么组、组选择什么节点”反查,比从第一行硬背到最后一行有用。

2. 通用设置:和界面一起对照

在 配置 → 当前配置 → 编辑配置 → 通用里查看开关,再与 [General] 对照。例如 bypass-system = true 对应旁路系统,ipv6 和 prefer-ipv6 对应 IPv6 设置。

我演示的文件关闭了两项 IPv6 设置,那是示例网络的选择,不是“关闭 IPv6 就更安全”。DNS、局域网地址和系统接管都应按自己的环境核对;不知道用途时先读界面解释,不把陌生配置的网段照搬过来。

3. 与 Surge 作类比:结构相近,不代表参数全通用

两者都用策略组组织出口,再由规则分配请求,已有 Surge 经验可以帮助理解小火箭。但配置格式相像,不等于支持同一组参数。

下面先用通用的策略组思路说明自动与手动选择;涉及 policy-path 和订阅更新时明确区分 Surge。接着再回到 Shadowrocket 的界面管理,不能直接用 Surge 文档替小火箭作功能保证。

4. 策略组:自动、手动和组间引用

每个组包含名称、类型与候选出口;其他组和规则通过名称引用它。改组名后,引用也要一起改,否则规则会指向不存在的对象。

概念用途
select手动选择候选出口
url-test对测试目标做连通性/延迟测试,再选择候选
url测试目标,不是订阅地址
interval策略组测试间隔,不是订阅更新周期
tolerance控制切换容差,减少相近结果之间的频繁切换
DIRECT/REJECT直连/拒绝,不是需要自行创建的节点

容差可以用一个明确的例子理解:假设当前候选测得 50 ms,另一个 10 ms,容差为 100 ms,差值只有 40 ms,便没有足够理由切换;若当前结果变为 150 ms,差值达到 140 ms,才可能触发切换。这是帮助读参数的示例,不是我某个节点的性能记录;具体判定按对应客户端与版本确认。

地区筛选与两层自动选择

地区组通常按节点名称筛选,例如“香港”“HK”等名称特征,再在筛出的候选中测试。它是名称匹配,不验证真实地理位置,出口仍需实际核对。

上层组还可以引用地区组:各地区先选候选,上层再选地区组的结果,像先做小组选择再做总选择。用途是组织自己的候选范围,不能保证任何服务的地区资格,也不能把节点名当成账号许可。

两个周期,先在 Surge 里分清

Surge 的远程策略示例中,policy-path 指订阅来源,update-interval 指来源更新间隔,interval 指测速间隔。比如 86400 秒与 300 秒分别是一天更新、五分钟测试,做的是不同的事。

这段不应原样写进 Shadowrocket 来管理机场订阅。它在小火箭里有另一套入口,接着往下看。

5. Shadowrocket 策略组:订阅在首页,更新在设置

小火箭首页管理独立节点和订阅。组中可以按节点名称过滤,也可以从界面选择订阅范围。

  1. 打开 配置 → 当前文件 → 编辑配置 → 代理分组。
  2. 选择一个策略组,查看名称、类型与过滤设置。
  3. 如果只用某个订阅,启用订阅选择,再选对应的首页订阅。
  4. 保存后检查候选节点,确认没有选空或误混其他来源。
  5. 回到纯文本编辑查看生成结果,理解界面选择如何落进文件。

示例通过 policy-regex-filter 从节点名称筛选候选;组里选择具体订阅的方式与 Surge 的 policy-path 不同。

机场订阅的后台更新,到 设置 → 订阅中的自动后台更新及间隔设置检查。演示使用 24 小时间隔,但移动系统后台执行还受应用与系统限制,不能承诺到点一定执行。列表更新、测速、选择节点仍是三个动作,改完分别看更新时间和当前候选。

6. 分流规则:从上往下,命中就结束

类型匹配内容
DOMAIN完整域名
DOMAIN-SUFFIX域名及子域名后缀范围
DOMAIN-KEYWORD域名中的关键字,范围通常更宽
OR任一子条件满足
RULE-SET外部维护的规则列表
GEOIP目标 IP 的数据库分类
FINAL前面均未匹配时的兜底

例如拒绝某视频网站后缀,会影响该范围内的请求,不只影响播放按钮。关键词规则更要小心,包含同一单词的其他域名也可能命中。

规则按顺序匹配。先写一条很宽的规则,后面更精确的规则可能没有机会执行;FINAL 通常放末尾。RULE-SET 则把一组规则的维护交给外部来源,导入前读内容、选合适策略并检查更新机制,别把它与机场订阅更新混为一谈。

URL Rewrite 涉及另一层请求修改,本篇不展开完整用法。陌生改写、脚本和 HTTPS 解密先审查,不能因为文件里带着就默认需要启用。

读懂之后,少改也能用得明白

配置的主线很简单:通用设置控制基础行为,组组织出口,规则分配请求;小火箭订阅在首页管理、在设置检查后台更新,不把 Surge 的来源参数照抄过来。

实际改动时一次只改一项,保存重载后用请求记录核对规则、组和出口。多个来源的整理继续看Sub-Store 节点管理。欢迎交流配置问题,提供脱敏后的相关行和版本即可,不贴带凭证的订阅链接。感谢阅读,理解这几层关系之后,配置文件就没那么吓人了。

评论

评论由 GitHub Discussions 提供。发表评论、回复或添加反应需要使用 GitHub 登录。

正在加载评论服务…

沿着笔记间的引用继续阅读:看看谁提到了本篇,又能从本篇读到哪里。

沿着其他笔记来到这里,看看它们从何说起。

循着文中的引用,把相关的思路再展开一点。