Czym jest Manifest V3?

Manifest V3 to nowe zasady, które Chrome wprowadził dla rozszerzeń przeglądarki. Zastąpiły API o nazwie webRequest (pozwalające rozszerzeniom sprawdzać i blokować każde żądanie sieciowe) bardziej ograniczonym API o nazwie declarativeNetRequest. Skutek: blokery reklam, takie jak uBlock Origin, nie mogą już robić wszystkiego, co kiedyś. Pełna wersja uBlock Origin nie działa już w Chrome.

W skrócie

Rozszerzenia przeglądarki mogły kiedyś sprawdzać każde żądanie sieciowe i na bieżąco decydować, czy je zablokować. Tak działały uBlock Origin, Privacy Badger i dobre blokery treści. Manifest V3 w Chrome (2024) zastąpił tę możliwość systemem list reguł, który ogranicza liczbę reguł na rozszerzenie i wyłącza decyzje w czasie działania. Google jako powód podało bezpieczeństwo i wydajność. W praktyce najczęściej instalowane rozszerzenie Chrome, uBlock Origin, nie mogło dalej działać w pełnej wersji i w końcu zostało usunięte. Zamiennik „Lite” blokuje mniej.

Na tej stronie

  1. Co się zmieniło
  2. Dlaczego to zepsuło blokowanie reklam
  3. Dlaczego Google to zrobiło
  4. Jak zareagowały przeglądarki

Co się zmieniło

Manifest V2 (stare zasady) dawał rozszerzeniom potężne API o nazwie webRequest. Rozszerzenia widziały każde żądanie, które przeglądarka miała wysłać, i dla każdego decydowały, czy je zablokować. uBlock Origin używał go, żeby:

  • Blokować żądania na podstawie typu treści (obraz, skrypt, czcionka itp.)
  • Blokować na podstawie strony, która wysłała żądanie (zezwalać u wydawcy, blokować u trackera stron trzecich)
  • Stosować wyrażenia regularne i złożoną logikę na adresach URL
  • Natychmiast aktualizować listę blokowania bez przechodzenia przez weryfikację w Chrome Web Store

Manifest V3 zastąpił webRequest przez declarativeNetRequest. Nowe API przyjmuje stałą listę reguł, którą przeglądarka interpretuje wewnętrznie; rozszerzenie nigdy nie podejmuje decyzji w czasie rzeczywistym. Liczba reguł na rozszerzenie ma twardy limit. Aktualizacje listy reguł muszą przechodzić przez aktualizacje w Chrome Web Store.

Dlaczego to zepsuło blokowanie reklam

Listy blokowania uBlock Origin są duże i często aktualizowane. W Manifest V3 przestało to działać na obu frontach. Autor szczegółowo opisał różnice; w skrócie:

  • Pełna wersja uBlock Origin nie mogła dalej działać w V3, więc została wycofana z Chrome.
  • uBlock Origin Lite stworzono specjalnie tak, by mieścił się w ograniczeniach V3. Robi mniej.
  • Inne dobre blokery (Adguard, Ghostery) wydały wersje zgodne z V3, z podobnymi kompromisami.

Dlaczego Google to zrobiło

Oficjalnym powodem było bezpieczeństwo i wydajność: stare API webRequest dawało rozszerzeniom ogromny zasięg, łącznie z możliwością odczytu całego ruchu HTTP w każdej karcie. Można poważnie argumentować, że to były zbyt duże uprawnienia.

Praktyczny powód, który zauważyło wielu: głównym biznesem Google są reklamy. Przeglądarka, której nowe zasady ograniczają blokery reklam, należy do największej firmy reklamowej świata. Te dwa fakty nie muszą oznaczać, że zmiana była złośliwa, ale nie wygląda to dobrze.

Jak zareagowały przeglądarki

Firefox zachował Manifest V2 obok V3, więc pełny uBlock Origin nadal tam działa. Brave, Vivaldi, Opera i Edge korzystają z Chromium i dziedziczą V3. Większość z nich ma własny wbudowany bloker reklam, którego nie dotyczą reguły rozszerzeń, i to jest długoterminowe rozwiązanie. Dazr robi to samo: wbudowany bloker reklam działający na poziomie sieci, z tymi samymi listami co uBlock Origin, który w ogóle nie musi przechodzić przez API rozszerzeń Chrome.

Powiązane