Closed Maasea closed 1 year ago
Step1: 拦截 initplayback 让 YouTube 回退请求 v1/player
initplayback
v1/player
相比于直接reject,脚本返回 204 状态码的视频加载更快。
Step2: 使用 protoc 解析 v1/player 的 protobuf 后发现编号为 7 的 message 为广告信息,删除即可。
proto 定义如下:
syntax = "proto3"; message playerRes{ Advertisings advertisings = 7; message Advertisings{ Item item = 84813246; } message Item{ } }
Note:
sgmodule 需要做以下修改,牵扯到脚本链接的问题,没有进行 pr。
#!name=YouTube去广告(>=iOS15) #!desc=去首页瀑布流广告/播放页推荐列表广告/视频广告 # 仓库地址 https://github.com/app2smile/rules [MITM] hostname = %APPEND% youtubei.googleapis.com, *.googlevideo.com [Script] youtube-proto = type=http-response,pattern=^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/(browse|next|player)\?,requires-body=1,binary-body-mode=1,max-size=0,script-path=https://raw.githubusercontent.com/Maasea/rules/master/js/youtube.js youtube = type=http-request,pattern=^https?:\/\/[\w-]+\.googlevideo\.com\/(?!(dclk_video_ads|videoplayback\?)).+&oad,requires-body=0,script-path=https://raw.githubusercontent.com/Maasea/rules/master/js/youtube-fake.js
好的,感谢,晚上我测试一下
可以加我tg 是我用户名,详细说
方法
Step1: 拦截
initplayback
让 YouTube 回退请求v1/player
Step2: 使用 protoc 解析
v1/player
的 protobuf 后发现编号为 7 的 message 为广告信息,删除即可。proto 定义如下:
Note:
配置
sgmodule 需要做以下修改,牵扯到脚本链接的问题,没有进行 pr。