Shadowrocket 规则配置教程:轻松实现科学上网分流与广告拦截

141次阅读
没有评论

规则模式介绍

Shadowrocket 的全局路由设置中,主要有以下几种选项:配置代理直连场景。这些选项决定了流量的转发方式和处理逻辑,适用于不同的使用场景。

下面详细介绍每个选项的作用:

1. 配置 (Config)

  • 作用
    当选择“配置”时,Shadowrocket 会按照当前加载的规则文件(如 Surge 规则)进行流量分流。规则文件可以包含针对域名、IP 地址、地理位置(GeoIP)等的详细路由规则。
  • 常见规则类型
    • 代理 (PROXY):将匹配的流量转发到配置的代理节点。
    • 直连 (DIRECT):不经过代理,直接连接目标。
    • 拒绝 (REJECT):直接屏蔽流量(适用于广告拦截等)。
  • 适用场景
    • 对流量有精细化管理需求时使用,例如按域名分类代理或分应用走不同的规则。

2. 代理 (Proxy)

  • 作用
    所有流量都强制通过选定的代理服务器,无视规则文件中的设置。适用于需要强制代理的场景。
  • 适用场景
    • 想确保所有流量都经过代理节点,避免任何直连时。
    • 使用代理时网络环境不稳定,需要全局加速时。

3. 直连 (Direct)

  • 作用
    所有流量都直接连接目标服务器,不通过代理,完全忽略规则文件中的设置。
  • 适用场景
    • 在可信的网络环境下(如本地或公司网络),无需代理访问外部资源。
    • 调试网络问题时,临时关闭代理。

4. 场景 (Scenario)

  • 作用
    根据不同的网络或时间条件,动态切换代理规则或节点。例如,可以设置在 Wi-Fi 和蜂窝数据下使用不同的代理节点,或者针对不同的地理位置选择不同的规则。
  • 特点
    • 可以预设多个场景,每个场景可指定不同的规则文件、节点和设置。
    • 支持根据当前网络环境自动切换。
  • 适用场景
    • 在家和公司网络使用不同代理策略。
    • 外出时通过蜂窝数据使用更省流量的节点或规则。

总结对比

选项 主要作用 适用场景
配置 按规则文件分流流量(规则最灵活) 需要精细流量管理或分流,如分域名、分应用代理
代理 强制所有流量通过代理 避免直连时需要全局加速或保护隐私
直连 强制所有流量直连 信任当前网络环境,或仅测试直连效果
场景 动态切换代理规则和节点 不同网络、地理位置或场景下自动使用不同策略,如 Wi-Fi 和蜂窝数据切换代理

实用技巧

  1. 规则文件优化
    • 可使用现成的 Surge 规则(如通用规则、分流规则)或订阅更新的规则,确保分流效果最佳。
    • 规则示例:
      DOMAIN-SUFFIX,google.com,PROXY
      DOMAIN-SUFFIX,cn,DIRECT
      上述规则中,访问 google.com 使用代理,访问中国大陆 IP 地址直接连接。
  2. 自动切换节点
    • 使用“场景”功能可设定网络条件触发,如 Wi-Fi 切换至家庭网络时使用代理 A,移动数据时切换到节点 B。
  3. 流量监控与测速
    • 在不同模式下,可以使用内置测速功能(Ping 或测速)选择性能最佳的代理节点。

添加自定义规则

默认Shadowrocket 的配置可以满足大部分用户使用需求,如果需要更完善的配置规则和去广告的功能我们可以下载第三方的配置规则,这样可以更精确的分流海内外的域名和IP,下面是 Github 上的找的规则:

  • Github 地址:https://github.com/Johnshall/Shadowrocket-ADBlock-Rules-Forever
  • 规则列表:
规则 规定代理的网站 规定直连的网站
黑名单规则 + 去广告 被墙的网站(GFWList) 正常的网站
黑名单规则
白名单规则 + 去广告 其他网站 top500 网站中可直连的网站、中国网站
白名单规则
国内外划分 + 去广告 国外网站 中国网站
国内外划分
全局直连 + 去广告 / 全部
全局代理 + 去广告 全部 /
回国规则 + 去广告 中国网站 国外网站
回国规则
仅去广告规则
懒人配置 国外网站 国内网站
懒人配置(含策略组) 国外网站 国内网站

规则地址

下面是一些规则下载链接,复制下面一条你想要的规则。规则每天 20:00 会持续更新

黑名单过滤 + 广告:

黑名单中包含了境外网站中无法访问的那些,对不确定的网站则默认直连。

  • 代理:被墙的网站(GFWList)
  • 直连:正常的网站
  • 包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_top500_banlist_ad.conf

 

白名单过滤 + 广告:

白名单中包含了境外网站中可以访问的那些,对不确定的网站则默认代理。

  • 直连:top500 网站中可直连的境外网站、中国网站
  • 代理:默认代理其余的所有境外网站
  • 包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_top500_whitelist_ad.conf

 

黑名单过滤:

现在很多浏览器都自带了广告过滤功能,而广告过滤的规则其实较为臃肿,如果你不需要全局地过滤 App 内置广告和视频广告,可以选择这个不带广告过滤的版本。

  • 代理:被墙的网站(GFWList)
  • 直连:正常的网站
  • 不包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_top500_banlist.conf

 

白名单过滤:

现在很多浏览器都自带了广告过滤功能,而广告过滤的规则其实较为臃肿,如果你不需要全局地过滤 App 内置广告和视频广告,可以选择这个不带广告过滤的版本。

  • 直连:top500 网站中可直连的境外网站、中国网站
  • 代理:默认代理其余的所有境外网站
  • 不包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_top500_whitelist.conf

 

国内外划分 + 广告:

国内外划分,对中国网站直连,外国网站代理。包含广告过滤。国外网站总是走代理,对于某些港澳台网站,速度反而会比直连更快。

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_cnip_ad.conf

 

国内外划分:

国内外划分,对中国网站直连,外国网站代理。不包含广告过滤。国外网站总是走代理,对于某些港澳台网站,速度反而会比直连更快。

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_cnip.conf

 

直连去广告:

如果你想将 SR 作为 iOS 全局去广告工具,这个规则会对你有所帮助。

  • 直连:所有请求
  • 包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_direct_banad.conf

 

代理去广告:

如果你想将 SR 作为 iOS 全局去广告 + 全局翻墙工具,这个规则会对你有所帮助。

  • 直连:局域网请求
  • 代理:其余所有请求
  • 包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_proxy_banad.conf

 

回国规则:

提供给海外华侨使用,可以回到墙内,享受国内的一些互联网服务。

  • 直连:国外网站
  • 代理:中国网站
  • 不包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_backcn.conf

 

回国规则 + 广告:

提供给海外华侨使用,可以回到墙内,享受国内的一些互联网服务。

  • 直连:国外网站
  • 代理:中国网站
  • 包含广告过滤

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_backcn_ad.conf

 

仅去广告规则:

仅包含去广告规则,不包含代理/直连规则。用于与其他规则联用。

  • 仅包含去广告规则,不包含代理/直连规则。无任何其他配置。

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_ad_only.conf

 

以下规则基于 blackmatrix7/ios_rule_script 生成:

懒人配置:

不折腾,开箱即用。

  • 配置简洁
  • 规则覆盖范围广
  • 国内外常用app单独分流

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/lazy.conf

 

懒人配置-含策略组:

不折腾,开箱即用。下载规则后可在 i -> 代理分组 中自行配置。

  • 配置简洁
  • 规则覆盖范围广
  • 国内外常用app单独分流
  • 添加自动切换延迟最低节点类型
  • 通过「代理分组」灵活调整流媒体分流策略

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/lazy_group.conf


小火箭配置规则地址

以下面规则为例:

国内外划分,对中国网站直连,外国网站代理。包含广告过滤。国外网站总是走代理,对于某些港澳台网站,速度反而会比直连更快。

规则地址:https://johnshall.github.io/Shadowrocket-ADBlock-Rules-Forever/sr_cnip_ad.conf

  • 复制规则地址后,点击小火箭配置里面右上角”+”,规则地址会自动粘贴到方框内,如果没有就手动粘贴规则地址进去,然后点下载
  • 下载会出来一个新的配置文件,选中它,然后点击使用配置即可。

Shadowrocket 规则配置教程:轻松实现科学上网分流与广告拦截


常见问题及解决方法

1. 规则冲突导致流量无法正常分流

  • 问题表现
    • 流量没有按照预期走代理或直连。
    • 访问目标资源时出现连接失败或延迟过高。
  • 原因分析
    • 规则优先级设置不当,导致匹配错误。
    • 多条规则之间存在矛盾,例如同时包含相互冲突的代理和直连规则。
  • 解决方法
    1. 确保规则文件中的顺序正确:
      • Shadowrocket 从上到下匹配规则,优先匹配第一个符合条件的规则。
      • 规则应按以下优先级排列:
        1. 特定域名规则(如 DOMAIN-SUFFIX,google.com,PROXY
        2. GeoIP 规则(如 GEOIP,CN,DIRECT
        3. 默认规则(如 FINAL,PROXY
    2. 检查并移除重复或冲突的规则:
      • 使用编辑器工具(如 VS Code)对规则文件进行去重和格式化。

2. 规则无法匹配目标流量

  • 问题表现
    • 某些网站或应用未按照规则走代理或直连。
    • 无法正常访问被屏蔽的资源。
  • 原因分析
    • 规则中缺少匹配的域名或 IP 地址。
    • 应用可能使用了特殊的 CDN、子域或 IP 段,未被规则覆盖。
  • 解决方法
    1. 抓包分析
      • 使用 Shadowrocket 的抓包功能(日志或调试模式),查看未匹配的流量具体的域名或 IP。
    2. 补充规则
      • 根据抓包结果补充规则。例如:
        DOMAIN-SUFFIX,example-cdn.com,PROXY
        IP-CIDR,123.45.67.0/24,PROXY
    3. 更新规则文件
      • 定期使用在线规则订阅(如 Github 上的 Surge 规则)保持规则文件的完整性和最新状态。

3. 规则过多导致性能问题

  • 问题表现
    • 设备运行 Shadowrocket 时卡顿或耗电增加。
    • 代理连接速度变慢。
  • 原因分析
    • 规则文件过于复杂,包含大量不必要的条目,增加了匹配开销。
    • GeoIP 规则使用了冗余的 IP 段或不常用的地址。
  • 解决方法
    1. 优化规则文件
      • 删除重复、不常用的规则,只保留必要的分流条目。
      • 示例:
        • 不建议使用的大量域名白名单规则,改用 GeoIP 或默认代理规则简化配置。
    2. 合理设置默认规则
      • 在规则末尾添加一个简单的默认规则:
        FINAL,PROXY
      • 将未匹配的流量直接走代理,避免冗余的匹配操作。

4. 流媒体解锁失败

  • 问题表现
    • 使用代理访问 Netflix、Hulu 等流媒体服务时提示区域限制。
    • 视频无法播放或跳转到错误的国家/地区。
  • 原因分析
    • 节点未支持流媒体解锁。
    • 规则未正确将流媒体相关的域名强制代理。
  • 解决方法
    1. 检查节点是否支持流媒体解锁
      • 通过节点测速工具测试 Netflix 解锁情况。
    2. 更新流媒体规则
      • 使用特定流媒体解锁规则,如:
        DOMAIN-SUFFIX,netflix.com,PROXY
        DOMAIN-SUFFIX,nflxvideo.net,PROXY
        DOMAIN-SUFFIX,hulu.com,PROXY
    3. 启用远程 DNS
      • 在 Shadowrocket 设置中打开 “远程 DNS”,确保域名解析在代理服务器端完成,避免本地 DNS 污染。

5. 广告拦截不完全

  • 问题表现
    • 部分广告仍会加载或显示。
    • 某些弹窗广告无法屏蔽。
  • 原因分析
    • 广告域名或请求未包含在规则中。
    • 规则文件过时,未涵盖最新的广告域名。
  • 解决方法
    1. 使用专业的广告拦截规则
      • 订阅可靠的广告屏蔽规则文件(如 Adblock 或 Surge 广告规则)。
      • 示例规则:
        DOMAIN-SUFFIX,ads.example.com,REJECT
        DOMAIN-SUFFIX,tracking.example.com,REJECT
    2. 定期更新规则
      • 使用在线规则更新服务(如 Github 上的去广告规则仓库)。
    3. 启用 HTTPS 拦截
      • 某些广告通过 HTTPS 加密传输,需要开启 HTTPS 拦截功能(可能需安装根证书)。

规则使用建议

1. 使用订阅规则

  • 推荐资源
    • Github 上的开源规则项目,例如:
      • ACL4SSR(适配 SSR/Surge 的规则)
      • lhie1/Rules(适用于多种代理工具)
    • 根据需求选择全局代理、分流代理或特定用途(如流媒体、广告屏蔽)的规则。

2. 分应用代理

  • 针对不同应用设置独立的代理模式或节点,例如:
    • 浏览器应用使用代理,银行类应用直连。
    • 在 Shadowrocket 的“应用管理”中设置分应用规则。

3. 规则精简与优化

  • 删除重复和冗余规则,保留简洁、覆盖广的规则条目。
  • 避免将常用网站(如国内电商、视频平台)设置为代理流量,节省带宽。

4. 备份与分享

  • 定期备份规则文件,以便在设备迁移或重装时快速恢复。
  • 如果你的规则经过优化,可以上传到 GitHub 或其他平台与他人分享。
正文完
 0
评论(没有评论)
验证码