Jak zablokować reklamy po stronie serwera YouTube.

YouTube nadal szaleje przeciwko adblockerom na PC i teraz przeniósł się na reklamy po stronie serwera, aby zmniejszyć skuteczność adblockerów. Podobnie jak niedawno zrobił to Twitch. Jednak w Ublock już zaczęli pracować nad rozwiązaniem nadchodzącego problemu. Dzięki nim możesz zablokować nowe reklamy po stronie serwera w YouTube.

Czym są reklamy po stronie serwera w YouTube?

Reklamy po stronie serwera to reklamy, które są osadzane w strumieniu wideo przez serwery YouTube, co utrudnia ich blokowanie za pomocą standardowych blokerów reklam. Reklamy te pojawiają się nawet wtedy, gdy aktywne są tradycyjne rozszerzenia blokujące reklamy, ponieważ omijają lokalne mechanizmy blokowania reklam, integrując reklamy bezpośrednio z procesem dostarczania treści.

Jeśli nadal widzisz reklamy, prawdopodobnie YouTube przeprowadza test A/B na Twoim koncie, eksperymentując z tymi reklamami po stronie serwera. Poniższe kroki mają na celu pomóc Ci w skutecznym blokowaniu tych reklam przy użyciu zaawansowanych technik filtrowania w uBlock Origin (uBO).

Czego potrzebujesz, aby zacząć blokować reklamy po stronie serwera w YouTube.

Po pierwsze, należy upewnić się, że w przeglądarce zainstalowana jest aplikacja Ublock Origin. Następnie należy użyć jednej z poniższych linii kodu. Będziesz wiedział, które z nich, gdy rozpoczniesz kolejne kroki.

Metoda 1 (Firefox + Chromium)

www.youtube.com##+js(trusted-rpnt, script, (function() {window.ytplayer=, (()=>{let t=document.location.href\,e=[]\,o=!1;const r=Array.prototype.push\,n={apply:(t\,n\,a)=>{a[0]!==window&&"number"==typeof a[0]?.start&&a[0]?.end&&"ssap"===a[0]?.namespace&&(o||0!==a[0]?.start||(e.length=0\,o=!0\,r.call(e\,a[0]))\,0!==a[0]?.start&&r.call(e\,a[0]));return Reflect.apply(t\,n\,a)}};window.Array.prototype.push=new Proxy(window.Array.prototype.push\,n)\,document.addEventListener("DOMContentLoaded"\,(function(){let r=!1;const n=()=>{const t=document.querySelector("video");t&&!r&&e.length>0&&(r=!0\,t.currentTime=Math.ceil(e.at(-1).start/1e3))};n()\,new MutationObserver((()=>{t!==document.location.href?(t=document.location.href\,e=[]\,r=!1\,o=!1\,n()):n()})).observe(document.body\,{childList:!0\,subtree:!0})}))})();(function() {window.ytplayer=, sedCount, 1)
www.youtube.com##+js(nano-stb, [native code], 17000, 0.001)

Metoda 2 (Firefox + Chromium, usterki: brak kart ekranu końcowego)

||www.youtube.com/watch?$doc,replace=/sabr=1(.+?ssapPrerollEnabled)/\$1/s
||www.youtube.com/playlist?$doc,replace=/sabr=1(.+?ssapPrerollEnabled)/\$1/s
www.youtube.com##+js(set, ytcfg.data_.INNERTUBE_CONTEXT.client.visitorData, undefined)

www.youtube.com##+js(trusted-replace-fetch-response, /(%23video%3D1.+muteOnStart"):true/, $1:false, /player?)
www.youtube.com##+js(json-prune-xhr-response, captions.playerCaptionsTracklistRenderer.audioTracks.[].captionsInitialState, , propsToMatch, &captions=0)
www.youtube.com##+js(json-prune-fetch-response, captions.playerCaptionsTracklistRenderer.audioTracks.[].captionsInitialState, , propsToMatch, &captions=0)

!#if cap_html_filtering
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), '/*start*/(function(){const e={apply:(e,t,o)=>{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id&&window.localStorage?.getItem("yt-player-sticky-caption")?.includes?.("false")&&o&&o[1].includes?.("/youtubei/v1/player?")){o[1]+="&captions=0"}return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.open=new Proxy(window.XMLHttpRequest.prototype.open,e)})();(function(){const e={apply:(e,t,o)=>{if(!window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id||!o[0]||"X-Goog-Visitor-Id"!==o[0]||!o[1])return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.setRequestHeader=new Proxy(window.XMLHttpRequest.prototype.setRequestHeader,e)})();(function(){const e={apply:(e,t,o)=>{try{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id&&o&&o[0].includes?.("videoId")){o[0]=o[0].replace("\"context\"","\"params\":\"YAHIAQE%3D\",\"context\"");o[0]=o[0].replace(/("context".+?"originalUrl":"[^"]+?[\?&]t=)(\d+)([^"]+")/,"\"startTimeSecs\":$2,$1$2$3");}}catch(e){}return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.send=new Proxy(window.XMLHttpRequest.prototype.send,e)})();(function(){const e={construct:(e,t,o)=>{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id){const c=t[0],s=t[1];if("https://www.youtube.com/"!==location.href&&c&&c.includes?.("/youtubei/v1/player?"))try{delete s.headers["X-Goog-Visitor-Id"];if(s&&s.body?.includes("visitorData"))try{t[1].body=t[1].body.replace(/"visitorData":"[^"]+",/,"")}catch(e){};if(t[1].body.includes?.("\"params\":\"")){t[1].body=t[1].body.replace(/("params"):"[^"]+"/,"$1:\"YAHIAQE%3D\"");}else{t[1].body=t[1].body.replace("\"context\"","\"params\":\"YAHIAQE%3D\",\"context\"");}t[1].body=t[1].body.replace(/("referer":"[^"]+)"/,"$1#video=1\"");if(window.localStorage?.getItem("yt-player-sticky-caption")?.includes?.("false")){t[0]+="&captions=0"}}catch(e){}}return Reflect.construct(e,t,o)}};window.Request=new Proxy(window.Request,e)})();document.currentScript.textContent=document.currentScript.textContent.replace(/\/\*start\*\/(.*)\/\*end\*\//g,"");/*end*/(function serverContract()', sedCount, 1)
!#else
www.youtube.com##+js(trusted-rpnt, script, (function() {window.ytplayer=, '/*start*/(function(){const e={apply:(e,t,o)=>{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id&&window.localStorage?.getItem("yt-player-sticky-caption")?.includes?.("false")&&o&&o[1].includes?.("/youtubei/v1/player?")){o[1]+="&captions=0"}return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.open=new Proxy(window.XMLHttpRequest.prototype.open,e)})();(function(){const e={apply:(e,t,o)=>{if(!window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id||!o[0]||"X-Goog-Visitor-Id"!==o[0]||!o[1])return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.setRequestHeader=new Proxy(window.XMLHttpRequest.prototype.setRequestHeader,e)})();(function(){const e={apply:(e,t,o)=>{try{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id&&o&&o[0].includes?.("videoId")){o[0]=o[0].replace("\"context\"","\"params\":\"YAHIAQE%3D\",\"context\"");o[0]=o[0].replace(/("context".+?"originalUrl":"[^"]+?[\?&]t=)(\d+)([^"]+")/,"\"startTimeSecs\":$2,$1$2$3");}}catch(e){}return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.send=new Proxy(window.XMLHttpRequest.prototype.send,e)})();(function(){const e={construct:(e,t,o)=>{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id){const c=t[0],s=t[1];if(c&&c.includes?.("&sabr=1"))try{t[0]=t[0].replace("&sabr=1","")}catch(e){};if("https://www.youtube.com/"!==location.href&&c&&c.includes?.("/youtubei/v1/player?"))try{if(s&&s.body?.includes("visitorData"))try{t[1].body=t[1].body.replace(/"visitorData":"[^"]+",/,"")}catch(e){};if(t[1].body.includes?.("\"params\":\"")){t[1].body=t[1].body.replace(/("params"):"[^"]+"/,"$1:\"YAHIAQE%3D\"");}else{t[1].body=t[1].body.replace("\"context\"","\"params\":\"YAHIAQE%3D\",\"context\"");}t[1].body=t[1].body.replace(/("referer":"[^"]+)"/,"$1#video=1\"");if(window.localStorage?.getItem("yt-player-sticky-caption")?.includes?.("false")){t[0]+="&captions=0"}}catch(e){}}return Reflect.construct(e,t,o)}};window.Request=new Proxy(window.Request,e)})();document.currentScript.textContent=document.currentScript.textContent.replace(/\/\*start\*\/(.*)\/\*end\*\//g,"");/*end*/(function() {window.ytplayer=', sedCount, 1)
!#endif

Metoda 3 (Firefox + Chromium, usterki: brak kart ekranu końcowego, ale pojawiają się po odświeżeniu)

||www.youtube.com/watch?$doc,replace=/sabr=1(.+?ssapPrerollEnabled)/\$1/s
||www.youtube.com/playlist?$doc,replace=/sabr=1(.+?ssapPrerollEnabled)/\$1/s
www.youtube.com##+js(set, ytcfg.data_.INNERTUBE_CONTEXT.client.visitorData, undefined)

www.youtube.com##+js(trusted-replace-fetch-response, /(%23video%3D1.+muteOnStart"):true/, $1:false, /player?)
www.youtube.com##+js(json-prune-fetch-response, captions.playerCaptionsTracklistRenderer.audioTracks.[].captionsInitialState, , propsToMatch, &captions=0)

!#if cap_html_filtering
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), '/*start*/(function(){const e={apply:(e,t,o)=>{if(!window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id||!o[0]||"X-Goog-Visitor-Id"!==o[0]||!o[1])return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.setRequestHeader=new Proxy(window.XMLHttpRequest.prototype.setRequestHeader,e)})();(function(){const e={apply:(e,t,o)=>{try{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id&&o&&o[0].includes?.("videoId")){o[0]=o[0].replace("\"clientName\":\"WEB\"","\"clientName\":\"MWEB\"");o[0]=o[0].replace(/("context".+?"originalUrl":"[^"]+?[\?&]t=)(\d+)([^"]+")/,"\"startTimeSecs\":$2,$1$2$3");}}catch(e){}return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.send=new Proxy(window.XMLHttpRequest.prototype.send,e)})();(function(){const e={construct:(e,t,o)=>{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id){const c=t[0],s=t[1];if("https://www.youtube.com/"!==location.href&&c&&c.includes?.("/youtubei/v1/player?"))try{delete s.headers["X-Goog-Visitor-Id"];if(s&&s.body?.includes("visitorData"))try{t[1].body=t[1].body.replace(/"visitorData":"[^"]+",/,"")}catch(e){};if(t[1].body.includes?.("\"params\":\"")){t[1].body=t[1].body.replace(/("params"):"[^"]+"/,"$1:\"YAHIAQE%3D\"");}else{t[1].body=t[1].body.replace("\"context\"","\"params\":\"YAHIAQE%3D\",\"context\"");}t[1].body=t[1].body.replace(/("referer":"[^"]+)"/,"$1#video=1\"");if(window.localStorage?.getItem("yt-player-sticky-caption")?.includes?.("false")){t[0]+="&captions=0"}}catch(e){}}return Reflect.construct(e,t,o)}};window.Request=new Proxy(window.Request,e)})();document.currentScript.textContent=document.currentScript.textContent.replace(/\/\*start\*\/(.*)\/\*end\*\//g,"");/*end*/(function serverContract()', sedCount, 1)
!#else
www.youtube.com##+js(trusted-rpnt, script, (function() {window.ytplayer=, '/*start*/(function(){const e={apply:(e,t,o)=>{if(!window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id||!o[0]||"X-Goog-Visitor-Id"!==o[0]||!o[1])return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.setRequestHeader=new Proxy(window.XMLHttpRequest.prototype.setRequestHeader,e)})();(function(){const e={apply:(e,t,o)=>{try{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id&&o&&o[0].includes?.("videoId")){o[0]=o[0].replace("\"clientName\":\"WEB\"","\"clientName\":\"MWEB\"");o[0]=o[0].replace(/("context".+?"originalUrl":"[^"]+?[\?&]t=)(\d+)([^"]+")/,"\"startTimeSecs\":$2,$1$2$3");}}catch(e){}return Reflect.apply(e,t,o)}};window.XMLHttpRequest.prototype.send=new Proxy(window.XMLHttpRequest.prototype.send,e)})();(function(){const e={construct:(e,t,o)=>{if(window.yt?.config_?.EXPERIMENT_FLAGS?.html5_enable_ssap_entity_id){const c=t[0],s=t[1];if(c&&c.includes?.("&sabr=1"))try{t[0]=t[0].replace("&sabr=1","")}catch(e){};if("https://www.youtube.com/"!==location.href&&c&&c.includes?.("/youtubei/v1/player?"))try{if(s&&s.body?.includes("visitorData"))try{t[1].body=t[1].body.replace(/"visitorData":"[^"]+",/,"")}catch(e){};if(t[1].body.includes?.("\"params\":\"")){t[1].body=t[1].body.replace(/("params"):"[^"]+"/,"$1:\"YAHIAQE%3D\"");}else{t[1].body=t[1].body.replace("\"context\"","\"params\":\"YAHIAQE%3D\",\"context\"");}t[1].body=t[1].body.replace(/("referer":"[^"]+)"/,"$1#video=1\"");if(window.localStorage?.getItem("yt-player-sticky-caption")?.includes?.("false")){t[0]+="&captions=0"}}catch(e){}}return Reflect.construct(e,t,o)}};window.Request=new Proxy(window.Request,e)})();document.currentScript.textContent=document.currentScript.textContent.replace(/\/\*start\*\/(.*)\/\*end\*\//g,"");/*end*/(function() {window.ytplayer=', sedCount, 1)
!#endif

Przewodnik krok po kroku dotyczący blokowania reklam po stronie serwera YouTube. NIE ŁĄCZ METOD.

Jeśli reklamy nadal nie są blokowane, wykonaj następujące czynności.

Jeśli po zastosowaniu filtra z poprzednich kroków nadal wyświetlane są reklamy, musisz wypróbować alternatywną metodę.

Opcja 1.

Opcja 2

Przyszłe aktualizacje

Podane kroki obejmują eksperymentalny kod, który może zostać ostatecznie zintegrowany z uBlock Origin. Gdy funkcje te zostaną oficjalnie włączone, będziesz musiał ręcznie usunąć te kody, w przeciwnym razie wystąpią konflikty. Dopóki to jednak nie nastąpi, powyższe kroki powinny rozwiązać problem i pozwolić na całkowite wyłączenie reklam po stronie serwera w serwisie YouTube.

Komentarze