Manifest v3. Jak Google zabija blokowanie reklam

ciemnastrona.com.pl 2 lat temu

Z przeglądarek internetowych korzystamy wszyscy. Jakoś w końcu czytacie stronę, na której teraz jesteście.

Natomiast wiele osób nie zadowala się domyślną, „łysą” wersją przeglądarki.
Często instalujemy również jakieś dodatki. Od nauki słówek, od sprawdzania pisowni, od blokowania reklam (dygresja: nie polecam najpopularniejszego, AdBlocka).

Przeglądarka zapewniała nam solidną podstawę, zaś dodatki dawały upragnione możliwości. Internet stał otworem, świat był radosny, trawa soczyście zielona, ptaki ćwierkały.

Ten świat się skończy już w styczniu 2023 roku.

Nie każdy to wie, ale za kulisami stopniowo wprowadza się nowy ład standard, którego będą musiały się trzymać wszystkie dodatki. Tytułowy Manifest, wersja trzecia.
Według oficjalnych komunikatów poprawia bezpieczeństwo – w praktyce zarzyna niektóre dodatki, w tym te od blokowania reklam śledzących.

Choć słowo „standard” brzmi biurokratycznie, nie zafundowały nam tego losu żadne rządy czy Unia. Nie; to inicjatywa całkiem prywatnej korporacji. Na tyle wpływowej, iż potrafi poruszyć choćby internetem, z pozoru ostoją swobody i niezależności. To dzieło firmy Google.

Zapraszam do krótkiego przybliżenia kwestii Manifestu v3. Przy okazji rzucimy okiem na to, w jaki sposób podejmowane są decyzje kształtujące nasz wspólny internet.

Film: „Apocalypto”. Dodatki od lewej: Ghostery (z odwróconą miną), SingleFile, uBlock Origin, Privacy Badger.

Wprowadzenie

Zacznijmy może od samego pojęcia Manifest v3. Nie zdziwiłbym się, gdyby niektórym czytelnikom kojarzyło się to co najwyżej z „Manifestem Komunistycznym”.

Rzecz w tym, iż dodatki są całkowicie zależne od przeglądarki. To ona udostępnia im zestaw wybranych możliwości i narzędzi. Zestaw dostępny do tej pory nazywano zbiorczo wersją 2.

Teraz Google planuje wprowadzić zmianę na tyle istotną, iż zyskamy bonus +1 do numeru wersji (co do tej pory rzadko się zdarzało w całej długiej historii Chrome’a). w tej chwili dopuszczane są obie wersje, 2 i 3. Ale wraz z początkiem 2023 roku przeglądarka będzie dopuszczała jedynie wersję 3.

Mam drobną analogię: załóżmy, iż w komunikacji miejskiej zamontowana jest teraz wersja 2 automatów biletowych. Można w nich płacić i monetami, i zbliżeniowo. W wersji 1 dało się tylko monetami.
W planach jest stopniowa wymiana tych automatów na wersję 3, mniejszą i lżejszą, która pozwoli jedynie na płatności zbliżeniowe. Niby krok w przyszłość, ale jednak coś tracimy względem poprzedniej wersji. Podobnie jest z Manifestem.

Ciekawostka

A dlaczego akurat słowo „manifest”, a nie jakiś „interfejs” czy coś takiego? Bo to pojęcie techniczne. Manifestem nazywa się zwyczajowo plik z ważnymi informacjami na temat czegoś, zwykle programu. Samo pojęcie jest zapożyczeniem z branży transportu morskiego.
Każdy dodatek do przeglądarki musi zawierać plik manifest.json, odczytywany przez nią jako pierwszy. A w nim, zwykle u samej góry, zapisuje się numer wersji. Do tej pory wpisywaliśmy tu 2, teraz trzeba będzie 3.

Z grubsza znamy kontekst, ale przez cały czas jest sporo niejasności. Napisałem „Google planuje wprowadzić”. Ale dlaczego miałoby to mieć wpływ również na inne przeglądarki? Co on, imperator jakiś?

Problem dominacji Chrome’a

Zastanawialiście się kiedyś, jak to jest, iż przeglądarki nieraz wprowadzają zbliżone funkcje w podobnym czasie? Czy jest między nimi jakaś koordynacja? Kto nadaje kierunek współczesnemu internetowi?

Odpowiedź: kierunek nadają firmy – twórcy najpopularniejszych przeglądarek. Są zrzeszeni w organizacji World Wide Web Consortium (w skrócie W3C). Co pewien czas się spotykają i ustalają nowe standardy, których powinny się trzymać przeglądarki.

Znaczący członkowie W3C posiadający własne przeglądarki to Apple (silnik WebKit i przeglądarka Safari), Mozilla (Firefox), Google (silnik Chromium, przeglądarka Chrome) oraz Microsoft (przeglądarka Edge, oparta na silniku od Google’a).

Dzięki wspólnemu ustalaniu standardów nie ma dzikiego zachodu, gdzie każdy robi coś inaczej. Zyskujemy pewien porządek we wprowadzaniu nowinek i jest szansa, iż zadziałają wszędzie tak samo. W teorii. W praktyce jednak uczestnicy nie są sobie równi.

Stworzyłem drobny schemat pokazujący, która przeglądarka od kogo pochodzi. Dominacja Google’a jest widoczna gołym okiem.

W pierwszym rzędzie firmy, poniżej ich główny produkt, jeszcze niżej przeglądarki zbudowane na bazie tego produktu (albo przez samych twórców, albo na bazie publicznie dostępnego kodu). Pominąłem sporo bardziej niszowych przeglądarek, niech ich fani mi darują.

Niebieskie logo w drugim rzędzie po lewej, jeżeli ktoś go jeszcze nie zna, to Chromium – silnik, na bazie którego działa Chrome.
Z jego kodu korzysta również wiele innych popularnych przeglądarek. Czasem go modyfikują na własne potrzeby, ale większość kodu „spływa z góry”.

Mamy zatem silną centralizację kodu w rękach jednej korporacji. I słabe możliwości ograniczenia jej wpływów. Bowiem organizacja W3C ma w sobie więcej z klubu dla szlachty niż z organu nadzoru.
Nie są w stanie zablokować wielu rzeczy demokratycznym głosowaniem. jeżeli jeden z uczestników się uprze, iż chce zrobić coś po swojemu, to tak zrobi.

Google cieszy się pod tym względem szczególnie złą sławą. Już nieraz zgłaszali propozycje, które inni uznawali za nie do przyjęcia (ze względu na przykład na to, iż forsowały prywatne interesy Google’a).
Kiedy grzeczna i oficjalna droga nie działała, Google po prostu dodawał kontrowersyjne funkcje do Chromium.

Wywierało to presję na pozostałych autorów przeglądarek. Niby są niezależni i nikt im nie każe iść za Google’em. Ale…

  1. Media piszące o nowych technologiach często są płytkie i roszczeniowe.

    Nie obchodzi ich to, iż jakiś nowy bajer ma szkodliwe efekty uboczne. Widząc różnicę w możliwościach przeglądarek, dzielą się wyrzutami: „Chrome to ma, a wy na co czekacie?”. A pewna grupa gadżeciarzy łyka taką narrację i przekazuje ją dalej. Przeglądarka bez bajerów stopniowo popada w niełaskę odbiorców.

  2. Autorzy nie chcą walczyć z własnym silnikiem.

    Jak widać na schemacie, sporo przeglądarek jest opartych na publicznie dostępnym kodzie Chromium.
    Ich twórcy mogliby usuwać z niego rzeczy niewygodne i zostawiać te przydatniejsze. Teoretycznie. Ale wymagałoby to nakładu pracy, i to przez czas nieokreślony. W końcu Google może dodawać coraz to nowe rzeczy, zależne od tych niechcianych. Z każdą kolejną wersją przeglądarka by coraz bardziej „odjeżdżała” od Chromium, trzeba by manualnie zapychać różnice.
    A przecież wielu twórców właśnie po to oparło się na cudzym silniku, żeby oszczędzić sobie tej wiecznej gonitwy.

Większość przeglądarek jest w pułapce punktu numer 2. Z kolei Firefox, posiadając niezależny silnik, ma większą swobodę w robieniu rzeczy po swojemu; ale jego z kolei dopada punkt 1 i topniejąca popularność.
Dlatego również goni Chrome’a i stara się zachować kompatybilność – udostępniać swoim dodatkom to samo, żeby ludziom chciało się je tworzyć.

W takich realiach Google staje się swego rodzaju dyktatorem mody. Zaś pozostali, chcąc nie chcąc, podporządkowują się zmianom.
Dlatego nie mieli zbyt wiele do powiedzenia, kiedy w 2019 roku ogłoszono feralną Wersję 3. Od tego czasu wszystko nieuchronnie ku niej zmierza.

Co Mv3 oznacza dla dodatków

Oczekiwania kontra rzeczywistość

Nowy Manifest wprowadzono z pompą, powołując się, jak na Google przystało, na bezpieczeństwo:

In order to provide better protection to our users, we need to make changes to the platform as well

Źródło: blog Google o cyberbezpieczeństwie. Wyróżnienie moje.

Zresztą w tym wypadku bezpieczeństwo określają jedynie jako jeden z filarów nowego Manifestu. Pozostałe dwa to wydajność oraz… prywatność.
A żeby te filary nie były dla nas jakąś abstrakcją, dodali też kolorowy obrazek z kolumienkami.

Źródło: strona informacyjna Google’a.

Z zapewnieniami Google’a polemizuje Electronic Frontier Foundation – organizacja nagłaśniająca problemy związane z cyfrowym światem.

Bezpieczeństwo?

Być może; w nowej wersji dodatki nie będą mogły pobierać skryptów z zewnętrznych źródeł.
Ale EFF pokazuje również, iż w praktyce ataki przez pobranie kodu nie są częste. Do tego wszelakie złośliwe dodatki zwykle są wyłapywane podczas weryfikacji. Google we własnym wpisie pochwalił się, iż blokuje ich 1800 na miesiąc.
Nowe zmiany brzmią zatem dobrze na papierze, ale możliwe iż kilka poprawią.

Co więcej, wygląda na to iż Google ubija w ten sposób również dostęp do… własnych skryptów, z których twórcy dodatków mogli korzystać. Takie płyną wnioski z wątku założonego przez ich pracownika.

Szybkość?

Wygląda na to, iż uzyskano ją poprzez odrąbanie pewnych rzeczy i narzucenie odgórnych limitów czasu. Które dla niektórych bardziej złożonych dodatków są nierealne.

Uderzyło to mocno w bardzo przydatny dodatek SingleFile – pozwalający zapisać przeglądaną stronę na dysku, w postaci jednego pliku; z obrazkami „wszytymi” bezpośrednio w jego treść.

Tylko iż ten dodatek musi dość intensywnie przetwarzać stronę. Do tej pory wykorzystywał w tym celu szereg kreatywnych rozwiązań, między innymi pobieranie w tle. Manifest v3 ogranicza czas pobierania do 5 minut, co nie pozwoli na zapisanie szczególnie sporych stron.

Autor dodatku, Gildas Lormeau, stworzył już wersję pod Manifest v3. Ale nie szczędzi im uszczypliwości:

Cechy wyróżniające SingleFile Lite:
(…)
większe zużycie pamięci RAM
mocniejsze obciążanie procesora
brak opcji automatycznego zapisu
czas zapisywania ograniczony do 5 minut
(…)
ograniczone wsparcie dla dynamicznego ładowania czcionek
(…)
Zalety płynące z wersji 3 Manifestu:
brak

Źródło: opis dodatku. Wszystkie tłumaczenia moje.

Poza tym nie zapominajmy, iż zmiany osłabiają dodatki blokujące reklamy. A reklamy są ciężkie. choćby taka złożona na pozór z samego tekstu potrafi ciągnąć za sobą ponad 1 MB kodu z wielu źródeł.
Zapobiegając ich blokowaniu, Mv3 może spowalniać przeciętną wędrówkę po internecie.

Prywatność?

Google twierdzi w oficjalnych komunikatach, iż żadnego blokowania nie ma, a prywatność chronią!

Nie utrudniamy rozwijania dodatków blokujących reklamy ani nie powstrzymujemy użytkowników przed ich blokowaniem. Chcemy pomóc autorom dodatków, w tym blokujących, tworzyć je w sposób chroniący prywatność użytkowników.

Źródło: blog Google.

A co uważają o tej sprawie autorzy dodatków blokujących, przez Google niepytani o zdanie? Tej kwestii przyjrzymy się nieco bliżej.

Pogrom dodatków blokujących reklamy

Spójrzmy do innego oficjalnego dokumentu Google’a z 2020 roku.
Opisują w nim, co zmieni Mv3. Sporo rzeczy to technikalia i nie będę udawał, iż wszystko rozumiem. Natomiast źródłem największych problemów dla dodatków wydaje się zmiana metody komunikacji i związane z tym odgórne limity.

Kiedyś do komunikacji z innymi stronami dodatki mogły używać interfejsu o nazwie webRequest. Dawał wiele możliwości. Wraz z wejściem wersji 3 będą musiały korzystać z innego, declarativeNetRequest, dającego ich znacznie mniej.

Polecam dyskusję na stronie dodatku uBlock Origin. Jest tam trochę techniki, ale da się również wychwycić rzeczy zrozumiałe. I dające do myślenia.

Najważniejszy punkt – nowoczesne dodatki blokujące stosują reguły dynamiczne. W których da się użyć specjalnych znaków i pojęć, żeby stworzyć swoistą hierarchię blokowania.

* * 3p-script block github.com amazonaws.com * noop

Przykład regułek dynamicznych; słowo noop ma specjalne znaczenie. Z tego co rozumiem, w tym wypadku blokują skrypty ze stron obcych (linijka 1), ale przepuszczają w ramach wyjątku niektóre ze strony github.com.

Wersja 3 ogranicza liczbę takich reguł do najwyżej 5000. Po ich wyczerpaniu pozostają reguły statyczne, w których nie działają znaki specjalne. I będzie można dodać takich reguł najwyżej 30 000 (autor uBO sam pisze, iż to za mało). Da się również stosować inny rodzaj reguł (regex; elastyczne dopasowywanie tekstu), ale tych z kolei można dodać maksymalnie 1000.

W ten sposób możliwości blokowania zostaną znacząco ograniczone, do poziomu najprostszych dodatków. Chyba iż twórcy spróbują się zmieśćić w wyśrubowanych limitach, wpychając w nie jak najwięcej regułek.
Cały wątek jest pełen główkowania nad tym, w jaki sposób dałoby się to zrobić. Ale to wszystko przypomina wybieranie wody z tonącego okrętu.

Bo choćby gdyby teraz udało się sprytnie wszystko uporządkować i skompresować, to przecież internet nie stoi w miejscu. Dodatki czerpią nazwy stron do blokowania z zewnętrznych, darmowych list, prowadzonych na bieżąco przez ochotników.
Symbiotyczną zależność między blokerami a listami bardzo fajnie opisał twórca innego dodatku blokującego, AdGuarda.

Tak znacząca zmiana w formacie filtrów wymagałaby intensywnej pracy nie tylko po stronie twórców dodatków (które łączą regułki proste w bardziej złożone), ale również ochotników utrzymujących listy. Musieliby prowadzić je w innym formacie, żeby sprostać nowym wymogom. A możliwe, iż nie nadążą za zmianami.

[nowy interfejs] w obecnym kształcie nie tylko cofa w rozwoju blokery treści, ale również skazuje je na zastój pod względem innowacji.

Źródło: komentarz gorhilla, autora dodatku uBlock Origin.

AdGuard podsumowuje to jeszcze mocniej:

Swego czasu nie szczędziliśmy gorzkich słów systemowi blokowania w [przeglądarce] Safari. I słusznie. Ale przynajmniej, dzięki niezliczonym sztuczkom i „klejeniu na taśmę”, udało nam się znaleźć zadowalające rozwiązanie. W przypadku Chrome’a szczerze mówiąc nie widać światełka pod koniec tunelu.

Źródło: wpis AdGuarda.

EFF (która również ma własny dodatek blokujący, Privacy Badgera) pisze wprost, iż widzi w tej całej sprawie konflikt interesów.
Google jest właścicielem największych internetowych sieci reklamowych. I nadużywa swojej równie dominującej przeglądarki, żeby tę władzę umocnić.

A sam gigant? Powtarza jak mantrę swoje słowa o bezpieczeństwie, prywatności i szybkości. Jest kryty. Zamiast jawnie zadać cios kończący – stopniowo wypompowuje tlen, aż twórcy dodatków i list nie będą mieli siły walczyć.
„Ach, peszek. A przecież daliśmy im tyle fajnych możliwości”.

Reakcje twórców przeglądarek

Widać, iż Wersja 3 to bardzo złe wieści dla dodatków. Do tego stopnia, iż jedyną nadzieją dla nich mogą być przeglądarki stojące po ich stronie i celowo zachowujące zgodność z Wersją 2.

Jednak wiele z nich jest zależnych od Chromium, zaś wprowadzanie zmian byłoby dla nich drogą pod górkę. Dlatego nie dziwota, iż niektóre odpuszczają. Niektóre przepraszały użytkowników mniej, niektóre bardziej; nieliczne stawiły opór.

  • Edge

    Łyknął wszystko, razem z trzema filarkami od Google’a.

    Microsoft announced the decision to embrace Manifest V3 to help reduce fragmentation of the web for all developers and enhance privacy, security, and performance for end users.

  • Vivaldi

    Opisali sytuację w sposób sugerujący, iż nie trzymają strony Google’a. Natomiast wprost podkreślają, iż wcielą zmiany wprowadzone do Chromium również do swojej przeglądarki.

  • Opera

    Mamy opinię ich pracownika z oficjalnego forum. Planują jeszcze wspierać wersję 2 i pozwalać na dodawanie takich dodatków do swojej bazy. Ale jeżeli jakiś zostanie wydany w wersji 3, to będzie działał z ograniczeniami typowymi dla Chromium.

    Like Chrome we don’t support webRequest API in v3 but we still support it in v2 (also in Opera addons portal) and we don’t have strict dates to remove it.

  • Firefox

    Oficjalnie przyjmują nowy Manifest, żeby zachować kompatybilność z Chromium. Ale wspierają też starsze, mniej ograniczające metody. Zatem uBO i inne skuteczne dodatki blokujące powinny u nich śmigać jak wcześniej.
    To samo podejście prawdopodobnie odziedziczą inne przeglądarki oparte na Firefoksie.

  • Brave

    Mają wbudowaną własną funkcję blokowania reklam bezpośrednio w przeglądarkę; to poziom głębiej niż wszelkie dodatki, więc zmiana Manifestu na to akurat nie wpłynie.
    Natomiast jeżeli chodzi o dodatki, zapowiadają jak najdłuższe wspieranie M2.

Powiedziałbym, iż nie jest wesoło. Mamy przede wszystkim słowa wsparcia, ale zmiany i tak się wkradają.

  • Zasadniczo tylko Firefox ma i sporą motywację (reputacja przeglądarki pro-prywatnościowej), i możliwości (osobny silnik), żeby robić rzeczy po swojemu.
  • Brave ma motywację, ale w kwestii dodatków musi działać wbrew swojemu silnikowi.
  • Edge łyknął wszystko, co Google stworzył.
  • A reszta wydaje się OK, ale dopiero czas pokaże, jak długo są gotowi walczyć.

Na urządzeniach mobilnych sytuacja z dodatkami zmieni się nieznacznie, bo i tak była bardzo kiepska.
Kilka wybranych wspiera mobilny Firefox.
Mniej znana przeglądarka, Kiwi Browser, wspiera wszystkie; ale jest na bazie Chromium, więc istnieje ryzyko, iż ją również dopadną zmiany. W takim wypadku pozostanie trzymanie się starszej wersji.

Co możemy zrobić

Jako szeregowi użytkownicy wiele nie wywalczymy, bo sprawa toczy się wysoko nad naszymi głowami, tam gdzie pieniądze płyną strumieniami. Trzeba zdać się na twórców przeglądarek, dodatków i list.

Co nie znaczy, iż mamy siedzieć biernie.

Przede wszystkim, jeżeli coś nam w przyszłym roku przestanie działać, nie lećmy z pretensjami do twórców dodatków.
Oni naprawdę nie mają na to wszystko wpływu. Co więcej, jak pokazałem, starają się walczyć z tym stanem rzeczy. Ale warunki dyktują im twórcy przeglądarek.

Poza tym warto zagłosować nogami – odejdźmy od przeglądarek forsujących nową rzeczywistość. Czyli na pewno od Chrome’a i Edge’a. Od Chromium również, mimo iż było na plus względem Chrome’a. Być może od Opery, Vivaldiego i reszty, jeżeli zakończą wsparcie dla wersji 2.

Zamiast nich wybierzmy Brave’a (jeśli jesteśmy przyzwyczajeni do Chrome’a), Firefoksa (jeśli cenimy niezależne alternatywy) albo przeglądarki na ich bazie.

Zachęcajmy do tego innych, nagłaśniajmy sprawę. Mało kto wie o tej całej sytuacji, a ludzie jednak lubią swoje dodatki. To dobry moment na pokazanie, iż Google nie jest ich przyjacielem.

Ktoś umie programować? Super! Myślę iż każdy kod pomagający uratować sytuację będzie na wagę złota.
Mam w głowie kilka rzeczy, które mogłyby się przydać (ale dla mnie to za wysokie progi):

  • Program przeczesujący oficjalne bazy dodatków (Chrome Web Store itd.) i wyłapujący te z wersją 2; warto je zarchiwizować.

    Aktualizacja: takie dane zbiera już stronka ChromeStats.

  • Stronkę opartą na powyższym rozwiązaniu. Coś w rodzaju „cmentarzyska dodatków” pokazującego, ile z nich nie przetrwało wejścia Wersji 3. Coś jak stronka Killed by Google.
  • Publicznie dostępny kod ułatwiający przeglądarkom obsłużenie zarówno Wersji 2, jak i 3.
  • Listy dla dodatków blokujących prowadzone w nowym formacie; żeby dało się wycisnąć z ograniczonej puli regułek jak najwięcej.

A na poziomie nieco ogólniejszym – zachęcam do pewnej refleksji, mniej konsumpcyjnego podejścia.

Dużo złego przyniosło gadżeciarstwo. „Dej, dej, ja chcę mieć”.
To taka postawa napędza przeglądarkowy wyścig szczurów. Wywierając presję, żeby dodawały nowe funkcje. Wirtualną rzeczywistość, programy biurowe w przeglądarce, coraz lepszy streaming…

Na dłuższą metę prawie żadna organizacja tego nie zapewni, to nierealne. Dlatego uzależniają się od kodu Chromium, tracąc część swojej autonomii.

Gdyby użytkownicy kładli większy nacisk na działania w ich interesie niż na nowinki – i to okazywali w ankietach, na forach itp. – to rzeczywistość nieco by się mogła zmienić. I takiej zmiany nam życzę.

Do zobaczenia w kolejnych wpisach!

Idź do oryginalnego materiału