小火箭重写规则设置从入门到精通

本文深入讲解iOS端Shadowrocket重写规则配置方法,涵盖URL重写、请求头修改、响应体替换等核心功能,提供真实场景配置示例,帮助用户实现广告拦截、Host映射、自动选择节点等进阶需求。

什么是重写规则

重写规则(Rewrite)是Shadowrocket的核心功能之一,允许用户对HTTP/HTTPS请求进行修改,与Clash的路由规则不同,重写规则工作在更底层,可以修改请求头、响应体、URL地址等参数,掌握重写规则设置,能够实现广告过滤、域名重定向、请求头自定义等高级功能。

重写规则类型详解

URL重写

URL重写可以将请求的URL地址替换为另一个地址,常用于域名映射或跳过广告页面。

^https?://ads\.example\.com/(.*) -> https://www.bing.com/$1
^http://old-domain\.com -> https://new-domain.com

请求头修改

可以添加、删除或修改请求头信息,适用于需要特定Header的接口调用。

Header-Add: User-Agent Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)
Header-Del: X-Forwarded-For

响应体重写

修改服务器返回的响应内容,常用于去除广告或替换特定文本。

^https?://api\.example\.com/ads -> reject-200
response-body: "ad" -> ""

常见场景配置示例

广告拦截

^https?://.*\.googlesyndication\.com -> reject
^https?://.*\.doubleclick\.net -> reject
^https?://.*\.admob\.com -> reject

Host映射

某些国内服务需要通过Host绑定才能正常访问:

^http://api\.internal\.com -> http://api.internal.com
host: api.internal.com, 10.0.0.1

自动选择节点

结合Clash的代理组功能,实现按域名自动切换:

^https://netflix\.com -> proxy
^https://google\.com -> proxy
^http://baidu\.com -> direct

重写规则优先级

重写规则按从上到下的顺序匹配,一旦命中立即执行,不会继续匹配后续规则,建议将最常用的规则放在前面,通用规则放在后面,复杂的规则集建议分文件管理,便于维护和调试。

常见问题FAQ

Q1:重写规则不生效? 检查规则语法是否正确,确认规则已启用,区分URL正则表达式与普通字符串匹配,必要时使用在线正则测试工具验证。

Q2:规则冲突导致无法上网? 将可疑规则逐一禁用排查,确保保留至少一条放行规则,Clash核心的规则优先级高于重写规则。

Q3:如何导入他人分享的规则? 在Shadowrocket中添加URL订阅,或直接复制规则文本导入,注意检查规则来源可靠性,避免安全风险。

进阶技巧

  1. 使用正则表达式:熟练掌握正则可实现精确匹配
  2. 结合脚本:支持JavaScript脚本处理复杂逻辑
  3. 分组管理:按功能将规则分类,如广告、代理、直连
  4. 定期更新:维护自己的规则库,及时去除失效规则

节点选择建议

稳定的跨境访问需要优质节点支持,建议选择支持UDP转发的高端线路,延迟控制在150ms以内为佳,观看4K视频需保障20Mbps以上带宽,在线游戏则优先选择低抖动线路,定期测试节点质量,及时更换表现不佳的节点。

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