Блокировщик рекламы uBlock Origin считается одним из лучших расширений в своём сегменте, но предстоящим летом он может прекратить существование в своём теперешнем виде: Google рассказала о планах прекратить поддержку API Chrome Manifest V2 и полностью перейти на Manifest V3, который несовместим с существующими блокировщиками рекламы.
Источник изображения: google.com/chrome
Расширения, основанные на Manifest V2, начнут отключаться в сборках Chrome Dev, Canary и бета-версии уже в июне 2024 года с появлением Chrome 127 и более поздних версий — о сроках отказа от старого API в стабильной ветке браузера Google не сообщила. Интерфейсы взаимодействия с расширениями определяют их возможности. Google начала работу над Manifest V3 в конце 2018 года и намеревалась выпустить его уже в 2019 году, но радикальные изменения вызвали недовольство разработчиков, и компания решила перенести сроки внедрения изменений.
Механизм работы Web Request API. Источник изображения: blog.chromium.org
Одним из наиболее спорных нововведений Manifest V3 является изменение механизма работы API chrome.webRequest — эта функция теперь будет использоваться для сбора данных, а не их блокировки. Блокировка же будет осуществляться при помощи API chrome.declarativeNetRequest. Google обосновала это изменение тем, что расширения, использующие Web Request API, по сути, получают доступ и возможность изменять все данные сетевых запросов — теоретически вносить изменения во всё, что пользователь делает в интернете. Этот механизм используется uBlock Origin и другими блокировщиками рекламы.
Механизм работы Declarative Net Request API. Источник изображения: blog.chromium.org
С Declarative Net Request API расширениям не требуется доступ ко всей сетевой информации — они регистрируют в браузере правила, определяющие, что он должен делать при обнаружении запросов определённых типов. Этот механизм доступен и в Manifest V2, и в Manifest V3, но в последнем он становится единственным способом изменять сетевые запросы. Таким образом, отказ от Web Request API сделает невозможной работу uBlock Origin в исходном виде. Сложность в том, что, как установило сообщество разработчиков расширений, Declarative Net Request API не является функциональным клоном Web Request API. Google прислушалась к критике и внесла в альтернативный механизм несколько изменений, которые теоретически позволят существовать блокировщикам рекламы в новом виде.
В итоге желающим пользоваться uBlock Origin в традиционном формате остаётся отказаться от Chrome в пользу Firefox. Тем не менее, автор данного блокировщика выпустил uBlock Origin Lite — обновлённую версию расширения, совместимую с Manifest V3. О её эффективности судить остаётся только пользователям.
Источник: 3DNews