From 25246afa69ebde1e96b6851542c07560a1f1e8bb Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 17 May 2023 11:55:44 +0200 Subject: [PATCH] Fix #151052 sbs.com.au --- BaseFilter/sections/general_extensions.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BaseFilter/sections/general_extensions.txt b/BaseFilter/sections/general_extensions.txt index ba2150e1c56..3bed68b3020 100644 --- a/BaseFilter/sections/general_extensions.txt +++ b/BaseFilter/sections/general_extensions.txt @@ -1416,6 +1416,8 @@ xrares.com#%#//scriptlet("abort-current-inline-script", "gigaCS") gizchina.com#%#//scriptlet('hide-in-shadow-dom', 'div[class^="index__adWrapper"]', 'div[data-spot-im-shadow-host]') ! https://github.com/AdguardTeam/AdguardFilters/issues/151052 ! https://github.com/AdguardTeam/AdguardFilters/issues/88692 +! TODO: use m3u-prune scriptlet when this issue will be fixed - https://github.com/AdguardTeam/Scriptlets/issues/315 +sbs.com.au#%#!function(e="",t="",r=""){const s=(e,t,r,s,n)=>({method:e,url:t,async:r,user:s,password:n}),n=e=>{const t={};return Object.keys(e).forEach((r=>{t[r]=((e="")=>{if(""===e)return new RegExp(".?");if("/"===e[0]&&"/"===e[e.length-1])return new RegExp(e.slice(1,-1));const t=e.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(t)})(e[r])})),t},o=e=>Object.values(e).every((e=>(e=>{let t,r=(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(e);"/"===e[0]&&"/"===e[e.length-1]&&(r=e.slice(1,-1));try{t=new RegExp(r),t=!0}catch(e){t=!1}return t})(e))),a=window.XMLHttpRequest.prototype.open,l=window.XMLHttpRequest.prototype.send;let c;const p={apply:(e,t,a)=>{if(c=s.apply(null,a),((e,t)=>{if(""===e||"*"===e)return!0;let r;const s=(e=>{const t=["url","method","headers","body","mode","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal"],r={};return e.split(" ").forEach((e=>{const s=e.indexOf(":"),n=e.slice(0,s);if(t.includes(n)){const t=e.slice(s+1);r[n]=t}else r.url=e})),r})(e);if(o(s)){const e=n(s);r=Object.keys(e).every((r=>{const s=e[r];return Object.prototype.hasOwnProperty.call(t,r)&&s.test(t[r])}))}else console.debug(`Invalid parameter: ${e}`),r=!1;return r})(r,c)&&(t.shouldBePrevented=!0),t.shouldBePrevented){t.collectedHeaders=[];const e=(e,t,r)=>(t.collectedHeaders.push(r),Reflect.apply(e,t,r)),r={apply:e};t.setRequestHeader=new Proxy(t.setRequestHeader,r)}return Reflect.apply(e,t,a)}},d={apply:(e,r,s)=>{if(!r.shouldBePrevented)return Reflect.apply(e,r,s);const n=new XMLHttpRequest;n.addEventListener("readystatechange",(()=>{if(4!==n.readyState)return;const{readyState:e,response:s,responseText:o,responseURL:a,responseXML:l,status:c,statusText:p}=n,d=o||s;if("string"!=typeof d)return;const i=d.replaceAll(/#EXTINF:(\d|\d\.\d+)\,\nhttps:\/\/redirector\.googlevideo\.com\/videoplayback[\s\S]*?dclk_video_ads[\s\S]*?\n/g,t);Object.defineProperties(r,{readyState:{value:e,writable:!1},responseURL:{value:a,writable:!1},responseXML:{value:l,writable:!1},status:{value:c,writable:!1},statusText:{value:p,writable:!1},response:{value:i,writable:!1},responseText:{value:i,writable:!1}}),setTimeout((()=>{const e=new Event("readystatechange");r.dispatchEvent(e);const t=new Event("load");r.dispatchEvent(t);const s=new Event("loadend");r.dispatchEvent(s)}),1)})),a.apply(n,[c.method,c.url]),r.collectedHeaders.forEach((e=>{const t=e[0],r=e[1];n.setRequestHeader(t,r)})),r.collectedHeaders=[];try{l.call(n,s)}catch{return Reflect.apply(e,r,s)}}};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,p),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,d)}("#EXTINF:(\d|\d\.\d+)\,\nhttps:\/\/redirector\.googlevideo\.com\/videoplayback[\s\S]*?dclk_video_ads[\s\S]*?\n","","dai.google.com/ondemand/hls/"); sbs.com.au#%#//scriptlet('prevent-xhr', '/redirector\.googlevideo\.com\/videoplayback[\s\S]*?dclk_video_ads/') sbs.com.au#%#//scriptlet("json-prune", "ads breaks cuepoints times") ||dai.google.com/ondemand/hls/content/*.m3u8$hls=/redirector\.googlevideo\.com\/videoplayback[\s\S]*?dclk_video_ads/,domain=sbs.com.au