photo_2020-10-07_15-05-41.jpg
via 春潮频道;

I. 序言

工欲善其事必先利其器,我还是很期待大家可以主动学习本文中提到的一些额外知识(如果能自我扩展那就更妙了);

II. QX/Surge 去广告重写屏蔽广告原理

iPhone用户在广告屏蔽这件事情上确实是很弱的;还好,我们有优秀的工具如:Quantumult X,以及优秀的规则贡献者:花姐。

如我们之前所说的,当我们开启代理工具如 Quantumult X,它已经托管了我们所有的网络请求;它可以做到改写(重写)网络请求(Request )以及回应(Response)以达到 无需拔卡观看Tiktok、屏蔽网页广告/App广告的目的;

III. YouTube APP 去广告重写(神机规则)

Surge 模块 YouTubeAds.sgmodule 的引用链接;
https://raw.githubusercontent.com/DivineEngine/Profiles/master/Surge/Module/Block/YouTubeAds.sgmodule

QuantumultX YouTubeAds.conf 的去广告重写引用链接;
https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/Block/YouTubeAds.conf

可去除App部分广告
视频片头广告;
视频播放中出现的广告;
*或点此查看 YouTube APP 成功屏蔽广告录屏

去广告重写(版本适用性问题)

去广告重写使用背景条件
1.请确保不是 YouTube Premium 会员;
2.机场节点/代理服务器未开启UDP(udp-relay);
可利用 QX资源解析器 强制关闭节点UDP转发;

最新去广告测试结果:配合去广告重写(神机规则即 DivineEngine(于后文有配置说明),YouTube APP version 17.03.3 已能正常去视频片头广告,且不会在视频中间再重头播放;02.14.2022;查看App Store - YouTube APP 版本更新记录

按理 v17.03.3 及其附近版本都可以,不会有太大变动,如需可自行抓取旧版本;
1.抓取安装旧版本 YouTube APP(16.35.5 或之前);
2.如何抓取旧版本 APP 可谷歌
3.安装相应版本 YouTube APP 再配合后文的去广告重写即可正常去广告了;

QX油管去广告重写 YouTubeAds.conf

https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/Block/YouTubeAds.conf

本文所引用的仓库:
神机规则:https://github.com/DivineEngine/Profiles/tree/master (更新中)
神机规则-广告屏蔽(重写/复写):https://github.com/DivineEngine/Profiles/tree/master/Quantumult/Rewrite/Block

orz-3 https://github.com/Orz-3/QuantumultX

其他可选规则集:

展开查看

1.洞主规则仓库 https://github.com/lhie1/Rules/ 官方使用说明
2.神机规则仓库 https://github.com/ConnersHua/Profiles/tree/master (已废弃)
3.神机规则仓库 https://github.com/DivineEngine/Profiles/tree/master (最新神机规则仓库,更新中)
4.NobyDa 4w+ 野比去广告分流 https://github.com/NobyDa/ND-AD (4w条去广告分流规则)
5.NobyDa JS脚本 https://github.com/NobyDa/Script/tree/master (QuantumultX & Surge脚本收集 TG频道 ) *值得关注

IV. QuantumultX YouTube App 去广告重写配置步骤

以下两个复写二选一。

1.0 复写规则1;复制 https://raw.githubusercontent.com/Orz-3/QuantumultX/master/YouTube.conf 2020.12.24 更新 暂无测试;可尝试卸载重装YouTube后食用;

1.1 复写规则2;复制 https://raw.githubusercontent.com/DivineEngine/Profiles/master/Quantumult/Rewrite/Block/YouTubeAds.conf 2022.02.14 更新 博主 YouTube 版本号 17.03.3 测试有效

2.打开 Quantumult X,点击右下角三菱按钮

3.找到重写模块 - 点击 引用 - 点击右上角 + 号,粘贴,确定;

4.生成并信任证书;

生成并信任证书

1.进入QuantumultX,点击页面右下角三菱按钮,找到MinM模块,点击生成证书,提示生成成功,点击安装证书此时会跳转至Safari,提示此网站...下载一个配置描述文件。您要允许吗?,点击允许,网页提示已下载描述文件

2.进入 iOS 系统设置-通用-描述文件-已下载的描述文件-选中,并安装,输入密码...完成描述文件安装;

3.进入 iOS 系统设置-通用-关于本机-证书信任设置-针对根证书启用完全信任-选中刚刚安装的并启用即可;

5.开启重写MitM

开启重写&MitM

开启重写&MitM按钮.jpg

1.进入QuantumultX,点击页面右下角三菱按钮,找到重写模块,开启按钮;找到MitM模块,开启按钮;

6.到此结束;

展开查看

开启重写/MitM

DivineEngine 的 YouTubeAds.conf 里的内容:(随时可能更新)

hostname = -redirector*.googlevideo.com,*.googlevideo.com,www.youtube.com,s.youtube.com,youtubei.googleapis.com

(^https?:\/\/[\w-]+\.googlevideo\.com\/(?!dclk_video_ads).+?)&ctier=L(&.+?),ctier,(.+) url 302 $1$2$3
^https?:\/\/[\w-]+\.googlevideo\.com\/(?!(dclk_video_ads|videoplayback\?)).+&oad url reject

^https?:\/\/youtubei\.googleapis\.com\/youtubei\/v\d\/player\/ad_break url reject
^https?:\/\/(www|s)\.youtube\.com\/api\/stats\/ads url reject
^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking) url reject
^https?:\/\/s\.youtube\.com\/api\/stats\/qoe\?adcontext url reject

YouTube APP 去广告重写生效示例

1.打开 YouTube app刷几个YouTube视频,看看是否能跳过广告;
2.届时打开Quantumult X - 网络活动- 查看对应时段的 活动日志;

触发-MitM-hostname-Rewrite.jpg
重写-详情.jpg

如需理解以上这段复写代码,你可能需要了解一下正则表达式,以及 一些 HTTP 响应代码
参考文献:MDN-正则表达式

Quantumult X 支持的 http 响应类型

Quantumult X - http 响应类型

*可在Quantumul X - 配置文件 - 示例 中看到完整说明;

via 维基百科

V. Surge YouTube App 去广告重写配置步骤

一通百通,Surge、Loon等相应代理软件亦支持去广告重写,只是书写格式会略有不同,仅此而已。

https://raw.githubusercontent.com/DivineEngine/Profiles/master/Surge/Module/Block/YouTubeAds.sgmodule

1.复制上面 Surge 去YouTube App视频广告模块的链接(文件以.sgmodule为后缀);
2.打开 Surge - 首页 - 下滑至底部 - 找到模块 - 点击模块 - 安装新模块;
3.粘贴刚刚复制的 模块的链接;
4.安装并信任证书;
5.Over;

点开上述 Surge 模块 的链接后,可以看到包含如下的内容;

#!name=Block YouTube Advertising
#!desc=仅用于视频广告

[Rule]
AND,((PROTOCOL,UDP),(DEST-PORT,443)),REJECT-NO-DROP

[URL Rewrite]
(^https?:\/\/[\w-]+\.googlevideo\.com\/(?!dclk_video_ads).+?)&ctier=L(&.+?),ctier,(.+) $1$2$3 header
^https?:\/\/[\w-]+\.googlevideo\.com\/(?!(dclk_video_ads|videoplayback\?)).+&oad - reject

^https?:\/\/youtubei\.googleapis\.com\/youtubei\/v\d\/player\/ad_break - reject
^https?:\/\/(www|s)\.youtube\.com\/api\/stats\/ads - reject
^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking) - reject
^https?:\/\/s\.youtube\.com\/api\/stats\/qoe\?adcontext - reject

[MITM]
hostname = %APPEND% -redirector*.googlevideo.com,*.googlevideo.com,www.youtube.com,s.youtube.com,youtubei.googleapis.com

安装模块 时如提示无效的URL地址,则可点击 模块 - 安装模块 上方的 新建本地模块复制并粘贴下面模块的内容(模块的内容可能会随时间变化而有所改变,实时更新可点击 https://raw.githubusercontent.com/DivineEngine/Profiles/master/Surge/Module/Block/YouTubeAds.sgmodule 查看);

Surge - 模块 - 安装模块&新建本地模块.jpg

复制并粘贴到 新模块 编辑框内;

当且仅当模块名称左边为选中状态的时候,模块才为启用状态✅;记得,Rewrite、MitM、脚本的开关一定要打开,一个都不能少,最后把证书生成、安装、并信任证书(如已安装并已信任证书,可忽略;证书下载不了,去 iOS 系统 - 设置 - 找到 Safari - 点进去,将 Safari 设置为默认浏览器,那样就可以跳转到 Safari 下载证书了)。

VI. 使用送中节点

除了使用 YouTube app 去广告重写(神机规则),大家还可以使用送中节点实现去广告的目的;

1.使用送中节点,完全无广告;
2.送中节点去广告效果参阅

何为送中节点.png

部分有送中节点的机场

注意,谷歌会随着时间的推移对IP数据库进行更新,修正,送中节点状态亦可能同时发生改变,即之前该节点被判定为中国大陆IP,后续可能会被修正;(P.S 此种情况博主尚未遇见);如果机场用户经常允许谷歌进行GPS定位(即你实际所在的地理位置,上图更新位置信息部分),谷歌亦有可能将机场海外落地IP判定为大陆IP,即送中行为;另外,送中节点一般是即为稳定的节点(海外落地IP,相关落地IP如日本,新加坡,美国,香港地区等),机场基本上不会更换,才造成数据累积,最终达到谷歌将之判定为大陆IP的标准;

相反的,如果你是 YouTube Premium 会员,使用送中节点则将导致你的 YouTube Premium 权益失效,例如即便是会员,但不能后台播放,以及一系列本应可享受到的 Premium 会员权益(仅仅是因为谷歌未进入中国市场);

VII. FAQ

尊贵的YouTube 会员切记不要使用该 Rewrite(复写)配置,可能导致视频观看不了或黑屏;解决方法就是在 配置文件 - 编辑 - 滑至底部找到 hostname,在等号的右边加一项 `-.googlevideo.com`;

...
hostname = -*.googlevideo.com, -taobao.com, -api.weibo.cn, mapi.weibo.com, *.uve.weibo.com, mp.weixin.qq.com, api.bilibili.com, app.bilibili.com, www.zhihu.com, api.zhihu.com,...
...

VIII. 附注

Quantumult X 非官方电报群https://t.me/QuanXApp ,Quantumult X 相关问题可在本群讨论;

最后修改:2022 年 03 月 28 日 02 : 49 AM