Реймонд Хилл (gorhill) — автор и мейнтейнер оригинального блокировщика рекламы uBlock и нынешнего uBlock Origin. Признанный авторитет в сообществе, каждая его статья или твит имеет большой вес. В последние годы он часто высказывается о лицемерной политике компании Google, которая под видом заботы о пользователях ужесточает требования к расширениям для браузера Chrome, что в первую очередь затрагивает блокировщики рекламы.
К сожалению, в ближайшие месяцы расширение uBlock Origin окончательно перестанет работать в браузере Chrome.
Отдельная головная боль — видеохостинг YouTube, который тоже объявил «священную войну» блокировщикам рекламы, пытается их идентифицировать и помешать работе, придумывая всё новые способы внедрения неудаляемой рекламы.
▍ Проекты
Реймонд Хилл является активным контрибутором в четыре опенсорсных проекта, связанных между собой:
- uBlock Origin — компактный и быстрый блокировщик рекламы,
- uBO-Extra — расширение-компаньон для uBlock Origin,
- uMatrix — матрица для фильтрации сетевых запросов по источнику, месту назначения и типу, работает интуитивно понятным способом «выделил и нажал»,
- uBO-Scope — инструмент измеряет время воздействия на пользователя «посторонних субъектов» в интернете.
uBlock Origin — основной проект, где он и главный разработчик, и мейнтейнер, и соавтор продвинутой вики-документации.
▍ uBlock Origin
Как сказано на официальном сайте, uBlock Origin (uBO) — это не просто блокировщик рекламы, а «блокировщик контента широкого спектра», главной особенностью которого является эффективность использования процессора и памяти.
По сути, за счёт удаления ненужных скриптов и медиаблоков, при использовании uBO страницы загружаются быстрее, чем без него:
Среднее время загрузки страницы (в секундах) для блоков без рекламы, с активными AdBlock+, Privacy Badger и uBlock Origin, а также процент экономии времени загрузки для каждого блокировщика рекламы, источник
То есть, с одной стороны, uBO потребляет ресурсы CPU и RAM для работы, но по факту экономит этих ресурсов больше, чем потребляет. Это и экономия электроэнергии. По подсчётам специалистов, ежегодно uBO экономит в мире 1,35 × 1010 кВт⋅ч электроэнергии стоимостью $1,89 млрд, причём это данные за 2020 год. Логично предположить, что сейчас цифры больше (научная статья «Energy Conservation with Open Source Ad Blockers», опубликована в журнале MDPI 30 марта 2020 года, doi: 10.3390/technologies8020018).
Экономия электроэнергии и финансовая экономия за год (на счетах за электричество) при использовании опенсорсных блокировщиков рекламы в мире и США при активном использовании интернета для AdBlock+, Privacy Badger и uBlock Origin, источник
Кроме того, uBlock Origin дополнительно повышает безопасность системы, останавливая потенциально опасные редиректы:
С точки зрения защиты приватности, это тоже самое эффективное решение:
История uBlock Origin началась в 2014 году, когда Реймонд Хилл сделал форк HTTP Switchboard, а также продвинутого блокировщика uMatrix. Если посмотреть на скриншоты этих программ десятилетней давности, то угадывается интерфейс современного uBO:
HTTP Switchboard
Первоначально расширение называлось μBlock (μ — мю/микро), но вскоре название сменили на uBlock, чтобы не смущать пользователей греческим алфавитом.
Идея была в том, чтобы список объектов для блокировки создавался силами самого сообщества, через публично доступные блок-листы.
Сердцем блокировщика является механизм статической сетевой фильтрации (SNFE), он же uBlock Origin Core, который работает с любыми блок-листами, включая EasyList/EasyPrivacy, фильтры uBlock, а также со списками доменов или хостов (The Block List Project, Steven Black's HOSTS и др.).
Впервые расширение uBlock было выпущено в июне 2014 года эксклюзивно для Chrome и Opera, а в конце 2015 года Реймонд Хилл вышел из проекта и сделал форк под новым названием uBlock Origin. По его словам, причиной стало слишком большое количество запросов от пользователей и усталость. Хобби-проект «стал похож на утомительную работу полный рабочий день». С тех пор uBlock и uBlock Origin — два разных проекта. В 2018 году компания AdBlock купила первый из них и включила его в программу «приемлемых объявлений» (проплаченной рекламы).
В то же время расширение uBO быстро набирало популярность, по данным исследования comsource и Sourcepoint рост числа установок к августу 2016-го составил 833% за 10 месяцев, что является абсолютным рекордом в истории опенсорса. Такой рост объясняется огромной потребностью людей в настоящем, честном блокировщике, который блокирует всю рекламу, без проплаченных исключений, как это делают AdBlock и другие расширения.
Версия uBlock Origin для Firefox тоже быстро стала хитом. В декабре 2016 года разработчик Ник Роллс выпустил форк uBlock Origin для браузера Microsoft Edge (его разработка прекращена после того, как Edge перешёл на движок Chromium).
В январе 2017 года uBlock Origin добавили в репозитории Debian 9 и Ubuntu (16.04), а расширение uBlock Origin было удостоено награды «Выбор месяца» от Mozilla.
На октябрь 2024 года у версии для Chrome более 39 млн активных пользователей, а для Firefox — более 8 млн. Расширение доступно для всех популярных браузеров, включая Chrome, Chromium, Edge, Opera, Firefox, Brave, Pale Moon и всех версий Safari до 13.
В настоящее время Реймонд Хилл отказывается от пожертвований и советует всем клиентам и пользователям донатить на поддержку блок-листов, которая ведётся в рамках отдельного проекта.
▍ Конфликт с Google
В 2023 году Google внесла изменения в работу расширений. Новый стандарт известен под названием Manifest V3 (MV3). Основное изменение — это отказ от программных интерфейсов
webRequest
, которые используются расширениями для блокировки рекламы и модификации сетевых соединений. Их заменили на declarativeNetRequest
. После внедрения Manifest V3 и прекращения поддержки V2, эффективность блокировки рекламы и функциональность блокировщиков резко снизилась в Google Chrome и других браузерах на базе Chromium.Чтобы соответствовать новым требованиям, было спроектировано расширение uBlock Origin Lite.
Из-за ограничений MV3 оно значительно хуже оригинального uBO по нескольким ключевым аспектам. В частности, не способно обновлять списки фильтров отдельно от обновления расширения, также в нём нет пользовательских фильтров, переключателей для отдельных сайтов и динамической фильтрации.
Ограничения затронули только Chromium, но не другие браузеры. Firefox пообещал сохранить поддержку старых расширений Manifest V2.
Реймонд Хилл неоднократно публиковал статьи с критикой такого решения Google. По его мнению, помехи в работе блокировщиков рекламы помогут корпорации увеличить свои рекламные доходы, но сама корпорация заявляет эти изменения якобы «для защиты приватности пользователей», что можно назвать лицемерием.
Кроме всего прочего, расширения MV3 легче детектировать, что упростит жизнь YouTube и другим сайтам, которые запрещают блокировать рекламу.
Скоро оригинальный uBO и остальные расширения MV2 перестанут работать в Chrome, так что пользователям придётся переходить на менее эффективные блокировщики, либо мигрировать на Firefox. Как пишет Реймонд Хилл, уже сейчас uBlock Origin эффективнее всего работает в Firefox:
Ну а в будущем вообще вариантов не останется.
Если открыть настройки
chrome://extensions
, там предупреждение о скором отключении расширения:По плану, окончательный шатдаун MV2 ожидается в ближайшее время. Отключение началось в июне 2024 года и постепенно распространяется на всех пользователей: «В течение некоторого времени после отключения расширений пользователи смогут снова включить Manifest V2, но со временем и этот переключатель исчезнет», — сказано в документации.
Поддержка старых расширений осуществляется через модуль ExtensionManifestV2Availability, который будет удалён через несколько месяцев (вероятно, в июне 2025-го года).
▍ Приватность
Реймонд заботится о своей приватности, так что о его личной жизни, биографии и карьере вы ничего не узнаете. Он не даёт интервью, не выступает на конференциях. Очевидно, выбор в качестве проекта именно блокировщика рекламы (и трекеров) был неслучайным. Каждый имеет право сохранять анонимность в интернете.
Личный сайт Реймонда пуст (не доделан?) и содержит только две ссылки: на гитхаб и твиттер автора.
▍ Мейнтейнер-одиночка
Реймонд Хилл — пример мейнтейнера-одиночки, который своими силами тянет целый проект, не принимая помощь.
Вообще, если от критически важного проекта зависит инфраструктура других сервисов, то такую ситуацию можно назвать опасной: важный софт может быть заброшен, продан злоумышленникам и скомпрометирован. К сожалению, в опенсорсе такая ситуация не редкость — мы уже видели случаи успешного перехвата контроля над опенсорсным проектом для внедрения Linux-бэкдора. Из других важных проектов, которые ведёт один или несколько человек, вспоминается curl (Даниэль Стенберг), Time Zone Database (база данных информации о мировых часовых зонах, которую используют операционные системы и софт, один человек), SQLite (три человека), bash и readline (Чет Рэйми), протокол NTP для синхронизации времени по сети (Дэвид Миллс) и другие.
uBlock Origin остаётся независимым проектом, который не принимает ни рекламу, ни пожертвования. Реймонд Хилл пообещал никогда и никому не передавать управление, чтобы предотвратить бардак с раздуванием кода, продажей рекламы и прочей непотребщиной. В то же время он большую часть работы отдаёт волонтёрам, что помогает сохранить независимость.
Выдающиеся программисты 21 века. Предыдущие статьи серии
- Джастин Танни
- Джей Фриман (saurik)
- Михал Залевски
- Джон Кармак: 1, 2
- Марк Руссинович
- Юрки Алакуйяла
- Андрей Карпаты
- Даниэль Стенберг, автор curl
- Колин Персиваль, автор tarsnap
- Джефф Дин
- antirez, автор СУБД Redis
- Оскар Толедо: потомственный волшебник
- Ральф Меркл: криптограф, крионик и теоретик молекулярной инженерии
- Чем сейчас занимается Фабрис Беллар
- Мигель де Икаса и его мечта — Linux на десктопах
- Давид Хейнемейер Ханссон (DHH): автор Ruby on Rails
- Карсон Гросс, создатель HTMX
- Клеман Лефевр, создатель Linux Mint
- Андреас Клинг, его операционная система SerenityOS и браузер Ladybird
- Джеффри Сновер и создание PowerShell
© 2024 ООО «МТ ФИНАНС»
Telegram-канал со скидками, розыгрышами призов и новостями IT 💻