掌握小火箭重写规则设置的3个关键语法与场景

Shadowrocket的重写规则可实现请求头修改、广告屏蔽及API重定向,本文详解DOMAIN、REGEX等匹配模式写法,对比TUN模式与系统代理下的规则优先级,并提供跨境办公场景下的配置方案与故障排查方法。

重写规则的核心机制与Clash差异

Shadowrocket(俗称小火箭)的重写规则(Rewrite)作用于HTTP/HTTPS层,通过正则或域名匹配修改请求URL、Header或响应体,与Clash的rewrite不同,小火箭规则基于文本配置,无需YAML缩进结构,但逻辑优先级遵循"自上而下匹配"原则,在跨境办公需求中,小火箭重写规则设置常用于强制特定API走指定节点,或去除学术资源访问中的跟踪参数。

小火箭重写规则设置四步流程

配置入口与基础语法

进入Shadowrocket的"配置"→"编辑纯文本",在[URL Rewrite]字段下添加规则:

[URL Rewrite]
# 正则匹配模式
^https?://api\.example\.com/v1/(.*)$ https://new.api.com/$1 302
# 域名匹配模式
hostname = api.example.com, *.tracker.com

匹配模式类型选择

  • REGEX:适用于URL参数动态变化的场景,如^https?://.*/ad/\d+
  • DOMAIN-SUFFIX:匹配特定域名及其子域,常用于广告屏蔽
  • DOMAIN:精确匹配单域名,优先级高于SUFFIX

重写动作定义

支持四种动作:

  • 302:临时重定向,保留原始请求方法
  • 307:临时重定向(HTTP标准)
  • reject:阻断连接,适用于广告过滤
  • header-add:添加请求头(需配合Header Rewrite)

代理组联动配置

在Shadowrocket中对应Clash的select手动选择、url-test自动测速和fallback故障转移机制:

[Proxy Group]
Auto-Test = url-test, Node1, Node2, Node3, url = http://www.gstatic.com/generate_204, interval = 300
Fallback = fallback, Node1, Node2, url = http://www.gstatic.com/generate_204, interval = 300

将重写规则与特定代理组绑定,实现"特定API请求自动走最快节点"的效果。

TUN模式与系统代理下的规则优先级

TUN模式(VPN模式)接管设备所有流量(含UDP/ICMP),重写规则在虚拟网卡层生效,适用于游戏加速或强制全局代理场景。系统代理模式仅处理HTTP/HTTPS流量,重写规则在应用层生效,延迟更低但无法处理TCP直连流量。

优先级建议:跨境办公场景建议开启TUN模式,确保重写规则对邮件客户端、云同步工具等系统级应用生效。

分流规则语法实战示例

# 学术资源访问优化
[Rule]
DOMAIN-SUFFIX,sciencedirect.com,Proxy
DOMAIN,dl.acm.org,Auto-Test
IP-CIDR,203.0.113.0/24,Direct,no-resolve
[URL Rewrite]
# 去除Google Analytics跟踪参数
^https?://(.*)\?.*utm_.*$ $1 302
# 强制HTTPS升级
^http://(www\.example\.com)/(.*)$ https://$1/$2 302

FAQ:现象、原因与解决方法

现象:重写规则在Safari生效,但在Chrome无效
原因:Chrome使用QUIC协议(UDP 443端口),绕过系统代理
解决:开启TUN模式强制接管UDP流量,或在Chrome设置中禁用QUIC

现象:配置后特定App无法加载图片
原因:重写规则误匹配了图片CDN域名,导致reject动作阻断资源
解决:使用更精确的正则表达式,或添加exclude-simple-hostnames排除局域网IP

现象:国际网络加速时延迟增加50ms以上
原因:重写规则过多导致正则匹配计算开销
解决:将高频访问域名改用DOMAIN精确匹配,减少正则回溯

对于需要稳定国际网络加速的用户,建议选择支持Clash YAML格式订阅的服务商,通过SubConverter工具转换为小火箭兼容格式,确保重写规则与节点策略无缝衔接,配置完成后,建议通过curl -I命令验证重写后的响应头是否符合预期。

您可以还会对下面的文章感兴趣:

暂无相关文章