作为 iOS 平台最流行且经久不衰的科学上网工具,Shadowrocket(俗称小火箭) 以其强大的网络规则分流与兼容性,几乎人手必备。很多进阶用户为了精细化分流流量(例如屏蔽特定视频贴片广告、为特定 AI 工具分流等),尝试从网络上导入各种精细的分流规则包。然而,在导入时用户常常会遭遇“导入失败”、“格式不支持”报错,或者导入后分流规则失效、国内网页加载变慢。

这是因为小火箭默认采用的 .conf / .list 规则语法,与 Quantumult X(圈x)、Loon、Surge 的专用规则格式在正则表达、键值命名上存在很大差异。解决这一问题的最核心方法包括:使用在线 subconverter 订阅转换工具进行一键格式对齐、手动替换正则匹配前缀(如将圈 x 的 host-suffix 转换为小火箭的 DOMAIN-SUFFIX)、并合理设置小火箭的 “DNS 嗅探 (Sniffing)” 功能,避免本地 DNS 抢答造成的分流失效。


常见规则语法格式对比与手动转换

市面上主流的 iOS 加速客户端在编写分流规则时,各有其语法规范。当你想把别人的圈 x 或 Loon 规则导入小火箭时,必须对照下表进行修正:

规则类型 原始语法(以 Quantumult X 为例) 对应小火箭标准语法(.conf 作用说明
域名后缀匹配 host-suffix, google.com, Proxy DOMAIN-SUFFIX, google.com, PROXY 匹配包括该域名在内的所有子域名
全域名匹配 host, www.apple.com, Direct DOMAIN, www.apple.com, DIRECT 仅精确匹配该完整域名
关键字匹配 host-keyword, netflix, Proxy DOMAIN-KEYWORD, netflix, PROXY 域名中只要包含该关键字即匹配
IP段匹配 ip-cidr, 192.168.1.0/24, Direct IP-CIDR, 192.168.1.0/24, DIRECT 针对特定 IP 地址段进行直连或代理
默认规则 (尾规则) final, Proxy FINAL, PROXY 所有规则未匹配时,走此默认规则

解决方案一:使用在线/自建工具一键转换

如果规则文件非常庞大(包含数千行),手动修改显然不现实。我们可以借助开源的 Sub-converter 工具进行转换。

1. 利用在线转换 API

  1. 获取你想要转换的圈 x/Loon 规则的原始链接(例如 GitHub Raw 链接)。
  2. 使用以下转换格式拼装你的转换请求: https://sub.con.sh/sub?target=clash&url=【你的原始链接】 (转换为 Clash 格式) 或直接指定为 target=shadowrocket
  3. 或者是直接访问目前主流的在线订阅转换前端面板(如 acl45csub.tsutsu.one)。
  4. 在「进阶设置」里,选择输出格式为 Shadowrocket,将转换后的 .conf 链接复制到小火箭中直接下载导入即可。

解决方案二:本地手动配置小火箭分流规则 (无转换工具时)

小火箭支持在 App 内直接创建独立的 .list 纯文本分流规则文件,这省去了修改整个配置文件的麻烦。

  1. 打开小火箭,点击底部导航栏的 「配置 (Configuration)」
  2. 点击右上角的 「+」,选择 「新建配置」,或在默认的 default.conf 上点击,选择 「编辑纯文本」
  3. [Rule] 标签下方,直接粘贴或写入你修改好的规则:
    INI
    [Rule]
    # 广告拦截
    DOMAIN-KEYWORD,adserver,REJECT
    DOMAIN-SUFFIX,doubleclick.net,REJECT
    
    # AI 平台分流
    DOMAIN-SUFFIX,openai.com,PROXY
    DOMAIN-SUFFIX,anthropic.com,PROXY
    
    # 国内直连
    DOMAIN-SUFFIX,baidu.com,DIRECT
    DOMAIN-SUFFIX,taobao.com,DIRECT
    
    # 兜底规则
    FINAL,PROXY
  4. 点击保存,选中该配置使之生效。

⚡ 防 DNS 污染与解析冲突配置(重中之重)

在配置了大批规则后,如果你的 DNS 设置不当,依然会发生“访问国内网站变慢”或者“本应走代理的域名直接报错连不上”。

1. 开启 DNS 嗅探 (Sniffing)

当小火箭接管流量时,很多流量是以 IP 形式发送的(因为应用在本地已经完成了解析)。这会导致小火箭无法通过“域名规则”对其进行分流,从而误判走直连。

2. 设置正确的 DNS 服务器(系统 DNS vs 代理 DNS)

在「配置」->「本地 DNS」中:


相关推荐

版权声明

作者: 易邦

链接: https://e8k.net/posts/shadowrocket-ruleset-conversion/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。