divmagic Make design
SimpleNowLiveFunMatterSimple
Конец эпохи: Почему uBlock Origin исчезает из Microsoft Edge и что делать разработчикам
BlogsMicrosoft EdgeКонец эпохи: Почему uBlock Origin исчезает из Microsoft Edge и что делать разработчикам
Microsoft Edge

Конец эпохи: Почему uBlock Origin исчезает из Microsoft Edge и что делать разработчикам

Ландшафт веб-браузинга переживает тектонический сдвиг, и если вы фронтенд-разработчик, UI-инженер или просто продвинутый пользователь, ценящий чистый и производительный веб, эти подземные толчки невозможно игнорировать. Новость о том, что Microsoft Edge навсегда потеряет uBlock Origin, — это не очередной заголовок в мире технологий; это окончательное закрытие главы платформы расширений Manifest V2. Этот переход, обусловленный в первую очередь проектом Google Chromium, на котором основаны Edge, Opera, Brave и многие другие браузеры, переопределяет то, как браузеры взаимодействуют с сетевыми запросами, потенциально затрагивая не только блокировку рекламы, но и целую экосистему инструментов для обеспечения конфиденциальности, безопасности и разработки.

Долгие годы мы полагались на высокоточные блокировщики контента, чтобы превратить интернет в удобное, быстрое и приватное пространство. Будучи фронтенд-разработчиками, мы часто использовали эти инструменты для отладки, фильтрации шума и проверки полезной нагрузки без отвлекающих факторов в виде инвазивных скриптов отслеживания. Устаревание API, которые сделали возможными такие инструменты, как uBlock Origin, вынуждает нас пересмотреть свой инструментарий. Но это также открывает дискуссию о том, как выглядит «новый веб» в условиях Manifest V3 (MV3) и как такие инструменты, как DivMagic, вписываются в рабочий процесс, ориентированный на чистое извлечение UI-компонентов из захламленного веба.

Технический разрыв: Manifest V2 против Manifest V3

Чтобы понять всю серьезность ситуации, необходимо заглянуть под капот файлов manifest.json, управляющих расширениями браузера. Переход с Manifest V2 на Manifest V3 — это не просто изменение минорной версии; это фундаментальная переработка поверхности API расширений, которая сильно ограничивает API webRequest в пользу API declarativeNetRequest (DNR).

Самый сокрушительный удар для сложных блокировщиков контента — это переход от программной, динамической фильтрации к статическим, декларативным правилам. В Manifest V2 расширение, такое как uBlock Origin, могло перехватывать сетевой запрос в реальном времени, выполнять пользовательскую логику и динамически решать, блокировать, перенаправлять или изменять его.

Основной конфликт носит философский и технический характер: MV3 переносит логику фильтрации из расширения (JavaScript) в браузер (нативный код). Хотя это ограничивает поверхность атаки для вредоносных расширений, это также серьезно ограничивает сложность правил фильтрации, доступных инструментам конфиденциальности.

В рамках MV3 расширения используют declarativeNetRequest, что вынуждает разработчиков заранее определять статический набор правил. Браузер обрабатывает эти правила нативно, не предоставляя расширению доступа к необработанным данным запроса. Первоначальный лимит на эти правила составлял жалкие 30 000 динамических правил, хотя позже Google увеличил его до 330 000 статических правил, чтобы успокоить критиков. Хотя это звучит внушительно, списки фильтров uBlock Origin по умолчанию часто требуют сотен тысяч правил, а продвинутые пользователи, включающие несколько региональных фильтров и фильтров раздражителей, могут легко превысить даже новые, более высокие лимиты.

Конкретная угроза для пользователей Edge

Microsoft Edge, перешедший на движок Chromium в 2020 году, неразрывно связан с этими вышестоящими решениями. «Самое популярное расширение, uBlock Origin, было навсегда отключено прошлым летом из-за этого. И именно поэтому Edge, Opera и многие другие браузеры просто не могут использовать...» старую технологию. Развертывание было постепенным, но неуклонным. Edge теперь активно сканирует расширения Manifest V2 и помечает их как устаревшие, в конечном итоге отключая их без возможности переопределения пользователем.

Некогда бывший убежищем для пользователей, бегущих от чрезмерного сбора данных Chrome, теперь сам Edge оказался в роли исполнителя тех самых архитектурных ограничений, которые когда-то обещал смягчить. Смерть uBlock Origin в Edge — это не политический выбор Microsoft, направленный против пользователей; это решение, продиктованное бременем поддержки. Поддержание расходящейся кодовой базы webRequest в форке Chromium — это кошмар для исправления уязвимостей, что подводит нас к следующему критическому моменту.

Парадокс безопасности: Заперев ворота, оставили окно открытым

Обоснованием для Manifest V3 всегда была безопасность. Предотвращая доступ расширений ко всем вашим данным просмотра, браузер ограничивает ущерб, который может нанести скомпрометированное расширение. Это обоснованное беспокойство. Однако сроки создают резкий когнитивный диссонанс, особенно в отношении того, как Microsoft обрабатывает память.

laptop, code, programming, computer, browser, research, study, notebook, pen, business, people, man, programming, programming, programming, programming, programming

Хранение секретов в открытом виде в оперативной памяти (RAM) является критическим упущением в стратегии эшелонированной защиты. Этот механизм позволяет вредоносному процессу или просто плохо изолированной вкладке считывать токены аутентификации и мастер-пароли из дампа памяти браузера. Если злоумышленник имеет локальный доступ к выполнению, ему не нужно обходить зашифрованное хранилище расширения; он может просто запросить у операционной системы рабочую память браузера.

Если вы разработчик, хранящий ключи API в localStorage или состоянии сессии, это напоминание о том, что оперативная память — это новая золотая жила. Шифрования в состоянии покоя недостаточно, если среда выполнения прозрачна.

Это создает горькую иронию. Браузер блокирует декларативный сетевой уровень, чтобы предотвратить кражу данных расширениями, в то время как само хост-приложение истекает учетными данными. Как разработчики, мы должны выступать за полное шифрование памяти и изоляцию, а не только за изолированные разрешения расширений.

Восход декларативной экосистемы

По мере того как uBlock Origin умирает, экосистема разделяется на две ветви. Мы видим двух явных выживших:

  1. **uBlock Origin Lite:**Официальная версия, совместимая с MV3, от Рэймонда Хилла. Она отказывается от динамической фильтрации, инъекции скриптлетов и гибкости косметической фильтрации в пользу API DNR. Это безболезненно, но менее мощно.
  2. Полные форки браузеров: Такие браузеры, как Brave, пообещали сохранить внутреннюю поддержку MV2 через свою нативную функцию «Shields», которая является не расширением, а модулем на уровне браузера.

Процесс навигации в этом хаосе некоторые пессимисты называют «усранением» интернета, когда платформы ухудшают качество обслуживания, чтобы извлечь выгоду. «Процесс усранения интернета начался всерьез в 2014 году, и только сейчас он достигает своей неизбежной кульминации», — такое мнение эхом разносится по форумам разработчиков. Реклама — это уже не просто баннеры; это 3D-анимированные, плавящие GPU пакеты JavaScript, которые аудируют отпечатки браузера, состояние батареи и даже движения мыши. Их фильтрация требует хирургической точности, которой просто не хватает наборам правил DNR.

Bar chart comparing blocking capability percentages across different browser extension versions and DNS solutions.

Влияние на рабочие процессы веб-разработки

Для фронтенд-разработчика дело не только в уклонении от всплывающих окон. Речь идет о бюджете производительности. Без жесткого блокировщика рекламы средний новостной сайт передает 20-40 МБ данных, в основном JavaScript. Это искажает профилирование производительности. Когда вы копируете UI-компоненты или извлекаете гайдлайны стилей с помощью таких инструментов, как DivMagic, слои рекламных зон и пикселей отслеживания отравляют DOM. MV3 ослабляет инструментарий, который ранее очищал это, делая ручную очистку или более умные инструменты извлечения более важными, чем когда-либо.

Невидимая история: Как мы дошли до жизни такой

Чтобы понять тревогу, нужно помнить, что интернет не всегда был враждебным рекламным щитом. Полезность uBlock Origin заключалась не просто в лучшей производительности по сравнению с AdBlock Plus; это был швейцарский нож. Он «разоблачает» любые попытки подделать записанную историю, блокирует утечки WebRTC и динамически удаляет параметры отслеживания из URL. Это не те функции, которые может воспроизвести статический набор правил. Статические правила сопоставляют регулярные выражения с URL. Динамические фильтры сопоставляют контент, сетевой контекст и среду выполнения.

Более того, переход не произошел в вакууме. Он совпадает с более широкой трансформацией браузера из пользовательского агента в агента слежки за пользователем. Пандемия ускорила зависимость от браузера как основного рабочего интерфейса. «И теперь, в разгар пандемического кризиса, Microsoft представляет «Microsoft Edge» на замену «Internet Explorer». Это было сделано тихо, в рамках обновлений Microsoft». Этот молчаливый толчок Edge в корпоративные среды создал огромную захваченную аудиторию, которую теперь уводят от контроля конфиденциальности.

Что должны делать фронтенд-разработчики?

Если вы живете в браузере, как большинство из нас, вы не можете позволить себе ждать, пока регуляторы это исправят. Вам нужен прагматичный план действий.

1. Внедрите фильтрацию на уровне DNS

Перенос слоя блокировки на DNS (например, NextDNS или Pi-hole) полностью обходит API расширений браузера. Хотя вы теряете возможность косметической фильтрации (например, скрытия пустого div, оставшегося после заблокированной рекламы), вы возвращаете контроль над отслеживанием. Это надежная первая линия обороны.

2. Переключитесь на расширения или форки в «режиме разработчика»

Подход Brave Shields в настоящее время является золотым стандартом. Он реализует блокировку рекламы на уровне ядра браузера с использованием Rust, что делает его быстрее и невосприимчивым к устареванию MV3. Для сторонников Edge альтернативой является загрузка uBlock Origin Lite в виде распакованного расширения, но это игра в кошки-мышки.

Для профессиональных сред, где вам нужно копировать 100% чистые компоненты UI, полагаясь только на блокировку на уровне браузера, часто нарушается верстка. Используйте специализированную утилиту, такую как DivMagic, которая интеллектуально извлекает разделы и игнорирует рекламные контейнеры в процессе копирования.

3. Инструментарий разработчика: за пределами блокировки

Учитывая, что браузеры становятся протекающими сосудами, где пароли хранятся в оперативной памяти в открытом виде, а среды загрязнены трекинговым мусором, логичным шагом для UI-инженера является быстрое изолирование и захват ценности. Концепция инструментов «Сохранить как копию» или «Копировать в буфер обмена», извлекающих CSS/HTML, взорвалась. Цель — получить данные UI и немедленно покинуть токсичный веб-контекст.

Именно здесь специализированный инструмент извлечения становится необходимым профессиональным устройством. Вместо того чтобы пробираться через вкладку сети, заполненную отслеживаемыми запросами, разработчик может нацелиться на раздел и сразу получить его Tailwind или обычный CSS. Это устраняет шум, который раньше фильтровали умирающие блокировщики рекламы.

Doughnut chart showing the percentage of browsers vulnerable to plaintext credential exposure in RAM.

Ошибка с паролями и более широкая картина безопасности

Мы коснулись скандала с паролями в открытом виде, но он заслуживает более глубокого изучения. Разработчики часто небрежно относятся к хранению учетных данных, полагая, что ОС защищает память. «Microsoft Edge хранит ваши пароли в оперативной памяти в открытом виде...» — это не ошибка; это архитектурная уступка скорости. Чтобы мгновенно автозаполнить пароль, браузер должен расшифровать базу данных в память. Вопрос в том, как долго он там живет?

Эта «ошибка» поднимает более серьезный вопрос о размывании границ доверия. Пока мы оплакиваем uBlock Origin, злоумышленники эксплуатируют WebUSB, WebBluetooth и непрозрачные процессы рендеринга, которым нет дела до версий Manifest. Затраты CPU на дешифрование медиа и рендеринг кадров означают, что конфиденциальные строки часто живут в буферных кэшах слишком долго.

Иллюзия конфиденциальности

«Использование инструментов конфиденциальности может очень помочь. Браузеры, такие как Brave, или расширения, такие как uBlock Origin, блокируют эти трекеры еще до того, как они коснутся вашего устройства». Это золотое правило, и оно ускользает. Переход на MV3 должен был защитить нас от чтения паролей расширениями, но это все еще происходит из-за небрежности самого браузера. Это похоже на запирание сетчатой двери, когда заднее окно широко открыто.

Высшая ирония в том, что по мере того, как мы теряем эти инструменты, интернет становится все более темным узором обманчивых дизайнов. Кликджекинг, фальшивые кнопки загрузки и криптомайнеры процветают в рекламной экосистеме. Фронтенд-разработчики, создающие легитимные продукты, страдают, потому что пользователи привыкают не доверять любому UI.

Более широкий сдвиг экосистемы

Мы наблюдаем расхождение. Safari имеет собственную структуру блокировки рекламы, относительно стабильную. Firefox сохраняет полную поддержку API webRequest в своем выпуске с расширенной поддержкой (ESR) и основных версиях, обещая не калечить блокировщики рекламы. Это делает Firefox внезапным магнитом для технического класса, заботящегося о конфиденциальности. Однако с точки зрения системных ресурсов и интеграции с Microsoft 365 Edge остается корпоративным стандартом.

Эта корпоративная привязка является рычагом. «Отмените карты или сообщите о их утере. Или, если вы не оплатите счет, они его отменят...» — та же логика применима к корпоративному программному обеспечению. Пока предприятия платят за Microsoft 365, они будут использовать Edge, и им придется проглотить пилюлю MV3.

Сравнение с точки зрения разработчика: самостоятельная фильтрация против извлечения

Вместо борьбы с браузером за очистку веба происходит смена стратегии. Зачем тратить вычислительные циклы на блокировку 70% скриптов страницы, если можно просто извлечь нужные 5%?

Таблица сравнения подчеркивает сдвиг в мышлении. Как разработчики, мы часто пытались исправить весь мир (блокируя всю рекламу), когда на самом деле нам нужно было исправить только свой собственный вывод (чистый код). Более широкий интернет продолжает свое погружение в капитализм слежки, но элементы UI, кнопки, градиенты, типографские шкалы остаются ценными и изолированными.

«Пандемический» переход на Edge как стратегия принудительного обновления, хотя и разочаровывающий, закрепил жесткую архитектуру. Он закрыл дверь для настраиваемого веба 2010-х и открыл дверь для управляемого веба. В ближайшие несколько лет механизмы преодоления будут включать курирование, а не грубую блокировку.

Line chart comparing render time in megabytes for full page loads versus ad-blocked pages versus component-only extraction.

Заключение: Адаптация к корпоративному вебу

Исчезновение uBlock Origin из Microsoft Edge — это веха в созревании интернета как контролируемой, управляемой и монетизируемой платформы. Технические нюансы декларативного API Net Request, хотя и безопасные в теории, сломали хребет самому важному инструменту продвинутого пользователя.

Светлая сторона для разработчиков заключается в эволюции инструментария. Рабочий процесс, который ставит извлечение, изоляцию и курирование выше фильтрации, — это путь наименьшего сопротивления. Ландшафт безопасности требует, чтобы мы не доверяли ни одному процессу, от управления памятью нашего бинарника Chromium до сетевых запросов наших рекламных скриптов.

Мы вступаем в мир, где вы не убираете дом, а просто забираете хорошую мебель и уходите. И в этом контексте наличие точного инструмента, который может выхватить код UI одним щелчком, становится не роскошью, а тактикой выживания в захламленном вебе. Новая стратегия — не блокировать, а извлекать и игнорировать. Чем быстрее разработчики примут смерть старого веба, тем быстрее они смогут строить на руинах империй слежки.

Начните создавать с помощью DivMagic сегодня

Присоединяйтесь к более чем 10 000 разработчиков, дизайнеров и владельцев бизнеса, чтобы копировать код с любого веб-сайта и использовать его в своих проектах.

Get DivMagic for 42% off

Limited time deal for 22:45