《感慨一下,并提一个建议》
该死,怎么这么巧,今天在折腾Youtube去广告方面的规则,完美地表现了这几个语句的不同。
我应用的规则语句是:
URL-REGEX,https?:\/\/(?!((r\d-)|manifest))[\w-]+.googlevideo.com\/initplayback.+&oad, “拒绝策略”(REJECT/REJECT-TINYGIF/REJECT-DROP/REJECT-NO-DROP)
原本想是结合一些其它语句试图实现YouTube去广告的效果,却意外地发现这句规则对观看YouTube app内的“Shorts”(YouTube内一种类抖音的视频)速度有影响:
不加任何规则时的载入速度当然是最快的;
REJECT-TINYGIF 影响最小,切换视频时大概停滞0.3秒;
REJECT 影响较大,停滞大概1秒;
REJECT-DROP 影响最大,视频将卡住(完全无法载入);
REJECT-NO-DROP 影响持续较大,是REJECT的持续版;
我为什么会注意到这个问题呢,就是因为Surge的自动升级策略:因为是类抖音的视频,所以上滑切换视频十分频繁,很容易就会触发Surge的30秒10次的阈值从而将REJECT或REJECT-TINYGIF升级为REJECT-DROP策略,此时YouTube上的Shorts就卡住了(无法载入)。
这个问题表面看上去十分诡异,似乎网络时好时坏的感觉,因为其实这与我切换视频的快慢有关,不能稳定复现,所以排查起来真是让人怀疑人生,直到刚才看到这个帖子,结合自己的经历才恍然大悟原来是这方面的问题,非常感慨,特此发帖。
另外自从刚刚完全了解这个问题之后,我想说,这个,网络世界真的无奇不有,什么情况都能遇到,例如在我这个情形下,最佳解决方式显然就是能够“影响持续最小”,即REJECT-TINYGIF-NO-DROP(持续REJECT-TINYGIF,不升级为REJECT-DROP),但可惜我试了,尚未加入这个语法(而且貌似这样写的时候还触发了一个Bug*),所以在此建议,希望能加入这个看似“几乎不可能有人会需要”的REJECT方式。
*:此时最近访问列表里显示的是No Policy ,备注里显示的是:
Disconnect with reason: Outgoing connection setup failed ((null))