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.
- Na początek otwórz uBlock Origin i kliknij ikonę rozszerzenia uBlock Origin (uBO) w przeglądarce. Jeśli jej nie widzisz, być może będziesz musiał kliknąć przycisk „Więcej", aby ją znaleźć.
- Kliknij ikonę koła zębatego (tryb ustawień), aby przejść do ustawień uBO. Powinno to otworzyć nową kartę z pulpitem nawigacyjnym uBO.
- W panelu uBO kliknij zakładkę „Moje filtry" (My filters) znajdującą się w górnej części strony. Zakładka ta umożliwia dodawanie niestandardowych reguł filtrowania w celu blokowania określonych treści.
- Przewiń stronę w dół do najniższej linii, gdzie nie ma żadnego tekstu. Wklej kod skopiowany z metody 1 wymienionej powyżej.
- Zaznacz pole „Zezwalaj na niestandardowe filtry wymagające zaufania" (Allow custom filters requiring trust), aby włączyć korzystanie z niestandardowych reguł filtrowania. Jeśli nie zaznaczysz tego pola, będziesz otrzymywać komunikaty o błędach.
- Kliknij przycisk „Zastosuj zmiany", aby zapisać i aktywować nowy filtr.
- Całkowicie zamknij przeglądarkę Firefox, a następnie uruchom ją ponownie. Zagwarantuje to po prostu, że nowy filtr zostanie prawidłowo zastosowany i zacznie działać natychmiast.
- Otwórz YouTube'a i odtwórz film, aby sprawdzić, czy reklamy są teraz blokowane.
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.
- Wróć do zakładki „Moje filtry" w uBO i usuń kod z Metody 1.
- Dalej wróć do strony z kodem filtra eksperymentalnego, skopiuj kod z metody 2 i wklej go w zakładce „Moje filtry".
- Zastosuj zmiany, uruchom ponownie przeglądarkę i ponownie przetestuj YouTube.
Opcja 2
- Jeśli metoda 1 nie działa, usuń jej kod z zakładki „Moje filtry".
- Skopiuj kod z metody 3, wklej go do zakładki „Moje filtry", zastosuj zmiany i uruchom ponownie przeglądarkę.
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.