Blokowanie Google Consent (GDPR/Cookie)
• tech • 443 słowa • 3 minuty czytania
Do pełni szczęścia w poprawkach moich UserSripts brakuje jeszcze zabawy z YouTube Block Popups (SignIn/GDPR).
Skrypt ten nie był dawno aktualizowany, ale na szczęście dobrze sobie radził do tej pory z blokowaniem wyskakujących okienek zachęcających do zalogowania i/lub cookie-zgody i wymuszonym przerywaniem odtwarzania video.
W sumie jego logikę można byłoby obecnie zawrzeć w kilku linijkach filtrów do AdBlocka (znalezione na r/uBlockOrigin):
! YT consent
youtube.com##+js(set, ytInitialData.topbar.desktopTopbarRenderer.interstitial.consentBumpRenderer.forceConsent, false)
youtube.com##+js(json-prune, [].response.topbar.desktopTopbarRenderer.interstitial.consentBumpRenderer)
youtube.com##+js(json-prune, topbar.desktopTopbarRenderer.interstitial.consentBumpRenderer)
! YT login
youtube.com##+js(set, ytInitialPlayerResponse.auxiliaryUi.messageRenderers.upsellDialogRenderer.isVisible, false)
youtube.com##+js(set, ytInitialData.overlay.upsellDialogRenderer.isVisible, false)
youtube.com##+js(json-prune, [].playerResponse.auxiliaryUi.messageRenderers.upsellDialogRenderer)
Definicje te przetestowałem z uBlock-iem i rzeczywiście działają, zatem mój skrypt teoretycznie można by już zarzucić.
A tutaj niespodziewanie pojawia się nowy problem z implementacją GDPR w wykonaniu Googla.
W ostatnich dniach zmieniono strategię, bo teraz w Incognito na wyszukiwarce pojawia się specjalna warstwa z tymi ciasteczkowymi pierdołami. To oczywiście daje się jakoś obejść filtrami kosmetycznymi. Ale wersja na YouTubie już jest bardziej upierdliwa - zamiast filmu jest przekierowanie na stronę w domenie consent.youtube.com
.
Takiego przekierowania nie da się łatwo obejść - to znaczy w ogóle wykluczyć, ani skryptem, ani filtrem…
Na reddicie można znaleźć wzmiankę, że wystarczy zablokować cookiesy dla domeny consent.youtube.com i problem rozwiązany. Jednak nie do końca, co prawda problem z redirect-em znika, ale pojawiają się inne efekty uboczne.
Postanowiłem zainteresować się sprawą i zajrzeć do środka, aby upewnić się co do przyczyny zwracania przez serwer 302 na stronę wymagającą potwierdzenia zgód. Okazuje się, że bez ciasteczek na YouTubie lub z CONSENT=PENDING+...
, serwer przekieruje nas na dedykowaną stronę. Po wyrażeniu na niej wymaganych zgód dostaniemy 303 i powrócimy na YT z ciastkiem CONSENT=YES+...
. To chyba wyjaśnia sprawę… wystarczy “zapakować” ciastko poprawnym nadzieniem ;)
Żeby ustawić początkową wartość ciasteczka tak, aby działało to poprawnie w trybie Incognito trzeba zmodyfikować nagłówki zapytania HTTP. Jest kilka rozszerzeń do przeglądarki dodających możliwość edycji nagłówków. Niestety nie wszystkie radzą sobie z polem Cookie
. Po kilku testach znalazłem zadowalającą wtyczkę - ModHeader.
Na zrzucie wyżej widnieje moja konfiguracja z modyfikacją ciasteczek. W opcjach trzeba jeszcze zaznaczyć pole “Value concatenation” w “Header override mode”, aby doklejać wartość do już istniejącej zawartości nagłówka. Bez tego mogą pojawić się inne efekty uboczne i problemy z działaniem oraz stabilnością niektórych elementów serwisu.
Tym prostym sposobem, przynajmniej na razie, rozwiązałem sprawę irytujących ciasteczkowych okienek i przekierowań.
BTW. Przy okazji, z braku dobrze działającego i zadowalającego mnie rozszerzenia do modyfikacji nagłówków http w żądaniach i odpowiedziach, nasunął mi się pomysł na własną wersję takiej wtyczki. Dobra implementacja takiego rozszerzenia pozwoli wyzbyć się wielu innych dedykowanych rozszerzeń, jak chociażby służących do podmiany UserAgenta, czy innych “grzebiących” w nagłówkach. A to w wielu przypadkach, obok UserSripts-ów, dopełniając jego braki, może mieć znaczny wpływ na poprawę wygody i komfortu korzystania ze współczesnego Internetu.
Komentarze (2)
A jest jakieś rozwiązanie na androida? Takie coś pojawia mi na tablecie samsunga po uruchomieniu TY rewanced.
Niestety nie znam wspomnianej aplikacji i sposobu na pozbycie się tych irytujących popup-ów.
Opisane w poście sposoby już od dłuższego czasu nie działają i na serwisach googlowych znów wyskakują te gdpr-owe “szity” uprzykrzające codzienne sieciowe życie…