uBlock Origin: расширение для блокировки рекламы¶
uBlock Origin — это свободное расширение для веб-браузеров с открытым исходным кодом, предназначенное для блокировки рекламы, трекеров, всплывающих окон и вредоносных доменов. Разработчиком является канадский программист Раймонд Хилл (известный под псевдонимом gorhill). Проект был создан в 2014 году как ответвление от расширения uBlock, после того как его первоначальный разработчик передал проект другому модератору. uBlock Origin отличается высокой производительностью и низким потреблением оперативной памяти по сравнению с аналогами, что достигается за счёт использования нескольких независимых списков фильтров и эффективного алгоритма сопоставления.
¶История
Первая версия расширения под названием uBlock была выпущена 23 июня 2014 года. В октябре того же года Раймонд Хилл, недовольный направлением развития проекта и добавлением функций сбора статистики, создал форк — uBlock Origin, который стал основным направлением разработки. Оригинальный uBlock позже был переименован в uBlock Origin (uBO) и продолжает развиваться отдельно, в то время как исходный проект получил название uBlock (без Origin) и был передан другому сопровождающему.
К 2017 году uBlock Origin стал одним из самых популярных расширений для браузеров на базе Chromium и Firefox, получив признание за строгую политику конфиденциальности: расширение не собирает пользовательские данные и не содержит аналитики. В 2023 году проект столкнулся с ограничениями в связи с переходом Google Chrome на манифест MV3, который ограничивает возможности блокировки сетевых запросов. В ответ на это Хилл заявил, что полноценная версия uBlock Origin не сможет работать в новых версиях Chrome, и рекомендовал пользователям использовать Firefox или браузеры на его основе.
¶Механизм работы
uBlock Origin перехватывает сетевые запросы браузера до их выполнения и сопоставляет URL-адреса с правилами из подключённых списков фильтров. Фильтрация осуществляется на трёх уровнях:
- Сетевые запросы — блокировка загрузки ресурсов (скрипты, изображения, фреймы) по URL-шаблонам.
- Косметическая фильтрация — скрытие элементов страницы с помощью CSS-селекторов, если реклама уже загружена или встроена в контент.
- Динамическая фильтрация — возможность пользователю вручную разрешать или блокировать скрипты и фреймы с конкретных доменов в реальном времени.
Расширение использует механизм «статического фильтра», который компилирует списки правил в оптимизированные структуры данных (например, бинарные деревья), что обеспечивает высокую скорость обработки. В отличие от многих конкурентов, uBlock Origin не использует прокси-серверы и не перенаправляет трафик, вся работа происходит локально на устройстве пользователя.
¶Списки фильтров
По умолчанию uBlock Origin включает несколько базовых списков, которые пользователь может дополнять или отключать:
- uBlock filters — основной список, поддерживаемый разработчиком.
- EasyList — один из старейших и наиболее полных списков блокировки рекламы на англоязычных сайтах.
- EasyPrivacy — список для блокировки трекеров и систем аналитики.
- Peter Lowe’s Ad and tracking server list — список серверов рекламы и отслеживания.
- Списки региональных фильтров — для блокировки рекламы на других языках (например, RU AdList для русскоязычных сайтов).
Для борьбы с вредоносными доменами могут подключаться списки, содержащие известные фишинговые и майнинговые ресурсы. Все списки обновляются автоматически, а пользователь может добавить собственные правила через встроенный редактор «Мои фильтры».
¶Возможности и настройки
Интерфейс расширения включает панель с количеством заблокированных запросов на текущей странице и переключателем для временного отключения фильтрации. Среди ключевых функций:
- Блокировка всплывающих окон и «вечных» видеороликов.
- Отключение JavaScript на отдельных доменах.
- Предотвращение мигания экрана (blocking flicker) — функция, скрывающая элементы до применения косметических фильтров.
- Режим инкогнито — возможность включения фильтрации в приватном режиме браузера.
- Импорт и экспорт настроек — перенос конфигурации между устройствами.
- Лог запросов — детальный журнал всех сетевых запросов страницы с возможностью создания правил в один клик.
Расширение не поддерживает «белые списки» за деньги и не принимает пожертвования от рекламных сетей, что отличает его от некоторых коммерческих аналогов. Монетизация проекта отсутствует: разработчик существует за счёт добровольных пожертвований пользователей через платформы открытого кода.
¶Критика и ограничения
Основным предметом критики uBlock Origin является его влияние на доходы создателей контента, зависящих от рекламы. Некоторые сайты внедряют детекторы блокировщиков, которые требуют отключить расширение для доступа к материалам. В ответ uBlock Origin предоставляет функцию «Борьба с детекторами блокировщиков», которая пытается обойти такие проверки, хотя эффективность этой функции варьируется.
В 2021 году Google объявил о переходе на манифест Manifest V3, который ограничивает использование удалённых списков правил и API webRequest для блокировки запросов. Это привело к тому, что в Chrome начиная с версии 127 (2024 год) расширения на старом манифесте перестали поддерживаться. uBlock Origin остаётся полностью функциональным в Firefox, а также в браузерах на базе Chromium, которые сохранили поддержку старого манифеста (например, в версиях для разработчиков). Хилл выпустил упрощённую версию uBlock Origin Lite для новых версий Chrome, но она имеет существенно меньшие возможности.
¶Распространение и значимость
По данным на 2024 год, uBlock Origin установлен более чем у 40 миллионов пользователей в магазинах расширений Mozilla и Chrome. Расширение переведено на десятки языков, включая русский. Оно входит в репозитории многих дистрибутивов Linux и часто предустанавливается в браузерах, ориентированных на конфиденциальность (например, Tor Browser и LibreWolf). Проект распространяется под лицензией GPLv3, что гарантирует его свободу и возможность аудита кода независимыми специалистами.
uBlock Origin считается эталоном среди блокировщиков рекламы благодаря сочетанию эффективности, прозрачности и минимального влияния на скорость загрузки страниц. Его архитектура оказала влияние на развитие других инструментов приватности, а сам проект стал примером устойчивой разработки, финансируемой сообществом.
¶См. также
- Adblock Plus — расширение для блокировки рекламы с поддержкой «приемлемой рекламы».
- Privacy Badger — расширение для блокировки трекеров от EFF.
- NoScript — расширение для управления выполнением скриптов на страницах.