小火箭重写规则实战,从入门到精通的配置逻辑

Shadowrocket重写规则是iOS端强大的HTTP请求修改工具,本文详解规则语法结构、配置流程及常见问题排查,帮助用户实现去广告、解锁功能等定制化需求,提升国际网络加速体验。

重写规则的技术本质

小火箭重写规则(Rewrite Rules)通过拦截并修改HTTP/HTTPS请求头、响应体或URL跳转,实现请求重定向、数据注入和响应修改,与单纯的代理分流不同,重写规则工作在应用层,能够精细化处理特定域名的请求行为,是跨境办公和学术资源访问场景下的高阶配置手段。

四步完成基础配置

  1. 获取规则源
    从可信仓库复制重写规则链接,格式通常为.conf或纯文本列表,注意区分模块(Module)与配置文件(Config)的导入方式。

  2. 导入配置
    打开Shadowrocket → 配置标签页 → 右上角"+" → 粘贴URL下载,或长按配置文件 → 编辑配置 → 添加重写规则段。

  3. 启用重写模块
    进入配置详情 → 开启"重写"开关 → 检查HTTPS解密(MITM)是否启用,首次使用需安装描述文件并信任证书。

  4. 验证生效
    访问测试页面(如httpbin.org),查看请求头是否被修改,或使用Safari开发者工具检查网络请求变化。

全局路由模式深度解析

配置小火箭重写规则时,必须理解"全局路由"四个选项的协作关系:

配置模式(Config)
根据配置文件中的规则集自动判断流量走向,重写规则在此模式下仅对匹配代理或直连的域名生效,适合精细化分流需求。

代理模式(Proxy)
所有流量强制走代理节点,重写规则会作用于全部HTTP请求,但可能增加节点负载,建议仅在调试规则时使用。

直连模式(Direct)
绕过代理直接连接,此时重写规则依然生效(本地处理),但无法修改需要代理才能访问的国际资源。

场景模式(Scene)
根据Wi-Fi/蜂窝网络自动切换上述三种模式,重写规则会随场景切换而动态生效,适合多网络环境办公场景。

实战配置示例

以下是一个典型的去广告重写规则配置:

[URL Rewrite]
^https?://api.example.com/ad/v\d+/list - reject
^https?://cdn.example.com/banner/ - reject-img
[Script]
http-response ^https?://api.example.com/user/info requires-body=1,script-path=https://raw.githubusercontent.com/example/unlock.js

关键参数说明:

  • reject:直接阻断请求返回404
  • reject-img:返回1px透明图片(防页面塌陷)
  • requires-body=1:需要解析响应体(消耗更多性能)

对于需要稳定国际网络加速的用户,建议选择支持WireGuard或Reality协议的节点服务商,这类传输协议与重写规则配合时延迟更低,且不易被识别。

常见问题诊断

现象:规则开关已启用但功能未生效
原因:MITM证书未在系统设置中信任,或目标App启用SSL Pinning(证书固定)。
解决方法:设置 → 通用 → 关于本机 → 证书信任设置 → 开启Shadowrocket根证书;对于固定证书App,需使用Shadowrocket的"证书屏蔽"功能或放弃重写该App。

现象:启用特定规则后页面加载缓慢
原因:正则表达式过于宽泛导致CPU占用过高,或规则触发循环重定向。
解决方法:优化正则从改为具体域名;检查是否存在http://重写到https://又反向重写的逻辑死循环。

现象:部分HTTPS网站提示证书错误
原因:重写规则尝试修改加密流量但未启用MITM,或证书过期。
解决方法:确保"启用解密"已打开;定期更新Shadowrocket内置证书(建议每90天重新安装)。

在学术资源访问场景中,若遇到数据库验证失败,可尝试添加以下重写规则绕过Referer检查:

^https?://www.example-database.com/login header-replace Referer https://www.example-database.com/

选择节点时,建议优先考虑提供IEPL专线的服务商,这类线路在承载重写规则产生的额外握手开销时表现更稳定,特别适合需要频繁修改请求头的跨境办公场景。

定期备份你的重写规则配置,复杂规则集建议拆分为多个Module按需启用,避免单次加载过多脚本导致内存溢出。

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