ublock 这个行为看不懂了

2021-07-12 18:34:01 +08:00
 autoxbc

今天突然发现广告过滤失效了,然后开始排查问题,最后发现是 ublock 搞事情,把网络广告脚本重定向到扩展内部实现,导致本来应该被屏蔽的脚本重新运行了

这是抓的日志

Request URL: https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js  
Request Method: GET  
Status Code: 307 Internal Redirect  
Referrer Policy: strict-origin-when-cross-origin  
Location: chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/web_accessible_resources/  googlesyndication_adsbygoogle.js?secret=ul2441  
Non-Authoritative-Reason: WebRequest API  

去扫了眼源码,关键的部分在这里
https://github.com/gorhill/uBlock/blob/master/src/js/redirect-engine.js

这个事往好处想,如果我没屏蔽广告,那么网络版换成本地版可以减少网络请求,少泄露隐私;不过,如果本来就在过滤列表里,这又给放出来了,不是成了内置白名单

这个「特性」暂时找不到关闭的地方,不知道怎么办了

2224 次点击
所在节点    问与答
5 条回复
billlee
2021-07-12 19:49:23 +08:00
这个是重定向到一个假接口,不会真的请求广告的。

如果出现了广告,可以向 ublock origin 报 bug.
autoxbc
2021-07-12 21:23:04 +08:00
@billlee #1 多谢,还真是个假接口,在 DOM 里布了些疑阵,大概是为了对抗反过滤,搞得挺像样的,把我骗过了

不过这么弄 DOM 里有好多难看的节点,还是过滤掉清爽
fang5566
2021-07-13 07:12:29 +08:00
添加为白名单试试。或者在选项设置启动规则列表里面看看是不是勾选了 unlock experiment filters
fang5566
2021-07-13 07:22:30 +08:00
https://github.com/fang5566/uBlock/wiki/%E9%9D%99%E6%80%81%E8%BF%87%E6%BB%A4%E8%A7%84%E5%88%99%E8%AF%AD%E6%B3%95#redirect
GitHub 中文版有解释 redirect 规则,用于重定向,作者很可能是设置了 Google syndication 脚本重定向到内部定义的一个空脚本,是中立版本。
autoxbc
2021-07-13 13:10:15 +08:00
@fang5566 #4
没有找到 unlock experiment filters,不过在 assets/ublock/filters.txt 里面看到这条
||pagead2.googlesyndication.com/pagead/js/adsbygoogle.js$script,redirect-rule=googlesyndication_adsbygoogle.js
等于是把这条重定向应用到所有的过滤过程,可能反过滤的网站太多,维护者已经懒得给这条规则加 domain 限定

按照您指引的教程写了条白名单规则,禁用扩展的全部重定向,是我要的效果了
@@*$all,redirect-rule

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789082

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX