前置准备:开启 HTTPS 解密(MITM)
网页广告大多通过 HTTPS 加载,必须开启解密才能有效拦截。
生成并安装证书
- 打开 Shadowrocket → 设置 → 证书 → 生成新的 CA 证书
- 点击 安装证书,系统会跳转到 Safari 下载描述文件
- 进入 iOS 设置 → 通用 → VPN 与设备管理(或"描述文件")→ 安装 Shadowrocket 的描述文件
信任证书
进入 设置 → 通用 → 关于本机 → 证书信任设置 → 开启 Shadowrocket CA 的信任开关
⚠️ 注意:开启 HTTPS 解密后,部分银行类 App 可能无法使用,建议在 配置 → MITM → 跳过证书验证 中添加这些域名(如
bankcomm.com, icbc.com.cn)。
配置去广告规则(三种方法)
方法 1:使用远程规则集(推荐,自动更新)
- 点击底部 配置 → 选择你使用的配置 → 编辑纯文本
- 找到
[Rule]段落,添加以下内容(示例):
RULE-SET,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list,REJECT
# 神机规则去广告
RULE-SET,https://raw.githubusercontent.com/ConnersHua/RuleGo/master/Surge/Ruleset/Reject.list,REJECT
保存后,Shadowrocket 会自动下载并应用这些规则。
方法 2:使用模块(Module,一键安装)
模块是预配置好的去广告方案,包含规则、重写和脚本。
- 点击 配置 → 模块 → 右上角
- 输入以下模块地址(任选其一):
| 模块名称 | 链接 |
|---|---|
| 墨鱼去广告 | https://raw.githubusercontent.com/ddgksf2013/Modules/main/Adblock.sgmodule |
| 毒奶去广告 | https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/Adblock4limbo.sgmodule |
| YouTube 去广告 | https://raw.githubusercontent.com/Maasea/sgmodule/master/YouTube.Enhance.sgmodule |
- 点击 安装,开启开关即可生效。
方法 3:手动添加规则(针对特定网站)
- 配置 → 规则 → 右上角
- 按以下格式添加:
- 类型:
DOMAIN-SUFFIX(或DOMAIN) - 值:广告域名(如
doubleclick.net、googlesyndication.com) - 策略:
REJECT或REJECT-DROP
- 类型:
常见广告域名示例:
googleadservices.com
googlesyndication.com
doubleclick.net
google-analytics.com
facebook.com/tr/ (追踪)
高级:使用重写(Rewrite)移除网页元素
对于无法通过域名屏蔽的嵌入式广告,需要使用重写规则。
- 配置 → 编辑纯文本 → 找到
[Rewrite]段落 - 添加以下内容(示例):
[MITM] hostname = *.google.com, *.youtube.com [Rewrite] # 移除 Google 搜索广告 ^https?://(www\.)?google\.com/search\?.* url script-response-body https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/Script/google.js # 通用网页去广告(需配合模块) ^https?://.*\.(html|htm)$ url script-response-body https://raw.githubusercontent.com/ddgksf2013/Scripts/master/blank.js
推荐资源汇总
| 资源类型 | 名称 | 链接/说明 |
|---|---|---|
| 综合规则 | ACL4SSR | https://github.com/ACL4SSR/ACL4SSR/tree/master/Clash |
| 综合规则 | ConnersHua 神机规则 | https://github.com/ConnersHua/RuleGo |
| 去广告模块 | 墨鱼手记 | https://github.com/ddgksf2013/Modules |
| 去广告模块 | 毒奶博主 | https://github.com/limbopro/Adblock4limbo |
| Safari 去广告 | AdGuard 规则转换 | 可将 AdGuard 规则转换为 Shadowrocket 格式 |
常见问题解决
配置后仍有广告?
- 检查 MITM 是否开启:确认证书已安装且信任
- 检查规则是否生效:在 工具 → 日志 中查看广告域名是否被 REJECT
- 清除 Safari 缓存:设置 → Safari → 清除历史记录与网站数据
部分网站显示异常?
- 在 配置 → 规则 中添加
DIRECT规则放行该域名 - 或在 MITM → 跳过证书验证 中添加该域名
视频 App 去广告失效?
- 部分 App(如 YouTube、腾讯视频)有广告检测机制,需要使用 脚本 而不仅是规则
- 尝试更新到最新的去广告模块
耗电增加?
- 过多的规则(超过 5000 条)会增加 CPU 负担,建议定期清理无用规则
- 在 设置 → 高级 中开启 TCP 快速打开 优化性能
配置示例(完整配置文件片段)
[General] bypass-system = true skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local, captive.apple.com dns-server = 223.5.5.5, 119.29.29.29 [Rule] # 去广告规则集 RULE-SET,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list,REJECT RULE-SET,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list,REJECT # 最终直连 GEOIP,CN,DIRECT FINAL,PROXY [MITM] enable = true ca-passphrase = Shadowrocket ca-p12 = 证书内容(自动生成) hostname = *.google.com, *.youtube.com, *.bilibili.com
按照以上步骤配置后,Safari 和大部分 App 的网页广告将被有效拦截,建议每 1-2 个月更新一次规则以保持拦截效果。