
wBlock v3.0.0
Блокировщик рекламы для Safari нового поколения.
Контент-блокировщик для Safari на macOS, iOS, iPadOS и visionOS.
750 000 правил в 5 расширениях, хранение в Protocol Buffer, сжатие LZ4 и синхронизация через iCloud.
[!NOTE] Нужно подробное сравнение? Ознакомьтесь с моим руководством по сравнению, чтобы узнать, как wBlock соотносится с другими контент-блокировщиками для Safari.
Возможности
Производительность
Модификация контента
|
Блокировка
Конфигурация
|
Скриншоты
Управление пользовательскими скриптами Управляйте пейволлами, YouTube Dislikes и другим |
Настройки и кастомизация Настройте автообновления, уведомления и предпочтения |
Интерфейс iOS Полнофункциональная блокировка на iPhone |
Интерфейс iPadOS Полнофункциональная блокировка на iPad |
Техническая реализация
|
Базовая архитектура
|
Зависимости и стандарты
|
Поддержка разработки
wBlock — бесплатный проект с открытым исходным кодом.
Если вы хотите поддержать проект:
FAQ
Как wBlock соотносится с другими блокировщиками рекламы?
Ознакомьтесь с нашим руководством по сравнению с uBlock Origin Lite, Wipr 2 и приложениями AdGuard для Safari.
Стоит ли устанавливать wBlock из App Store или из релиза DMG/Homebrew?
Версия из App Store обычно предпочтительнее, поскольку она автоматически обрабатывает обновления приложения. Релиз DMG/Homebrew имеет те же функции и доступен для пользователей, предпочитающих установку вне App Store.
Стоит ли использовать wBlock вместе с другим блокировщиком рекламы?
Нет. Используйте один универсальный контент-блокировщик за раз.
Не существует контролируемых исследований, доказывающих, что любая возможная комбинация блокировщиков рекламы вредит каждой странице. Однако архитектура браузеров и документация расширений поддерживают отказ от перекрывающихся блокировщиков:
-
Расширения могут вносить конфликтующие изменения. Mozilla документирует, что когда два расширения пытаются внести конфликтующие изменения в один и тот же заголовок ответа, может успешно примениться только одно изменение. Поэтому несколько блокировщиков могут давать поведение, зависящее от порядка, а не предсказуемую комбинацию их защит. См. документацию Mozilla по webRequest.
-
Перехват запросов имеет измеримые вычислительные затраты. Chromium описывает затраты на сериализацию, межпроцессное взаимодействие, постоянные процессы и обработку ответов расширений, связанные с блокирующими обработчиками запросов. Запуск избыточных систем фильтрации дублирует по крайней мере часть работы по оценке правил и обработке страниц. См. объяснение Chromium о Web Request и Declarative Net Request и обзор Manifest V3 от Chrome.
-
Основные разработчики блокировщиков прямо советуют не накладывать их друг на друга. Официальный README uBlock Origin гласит: «НЕ используйте uBO с любым другим контент-блокировщиком». В нём объясняется, что другой блокировщик может помешать корректной работе функций конфиденциальности или обхода антиблокировщиков uBO. См. официальную документацию uBlock Origin.
-
Документированные режимы отказа включают более медленную загрузку и сломанную функциональность. AdGuard предупреждает, что два блокировщика могут конкурировать за одни и те же запросы, вызывая более медленную загрузку страниц, сломанные сайты или проблемы с воспроизведением видео. См. руководство AdGuard.
Применительно к wBlock, другой блокировщик также делает устранение неполадок невозможным. Когда реклама выживает или сайт ломается, ответственными могут быть сетевые правила, косметические правила, скриптлеты, исключения или порядок выполнения любого из блокировщиков. Поэтому второй блокировщик является мешающей переменной. Отключите все другие контент-блокировщики перед сообщением о проблеме с wBlock.
Установка избыточных блокировщиков — это не эшелонированная оборона, когда оба инструмента конкурируют на одном уровне перехвата. Это неконтролируемый эксперимент без контрольной группы.
Могу ли я использовать собственные списки фильтров?
Да. Вы можете добавить любой совместимый с AdGuard список фильтров по URL, вставить правила напрямую или импортировать из файла.
Стоит ли включать больше списков фильтров для лучшей блокировки?
Обычно нет. Рекомендуемые настройки по умолчанию уже покрывают большинство рекламы и трекеров, а большинство других универсальных списков пересекаются с ними. Включение дополнительных в основном расходует лимит правил Safari и увеличивает вероятность поломки сайтов. Исключения — фильтры Annoyances (баннеры cookie, всплывающие окна, социальные виджеты) и региональные фильтры для неанглоязычных сайтов, которые покрывают то, что не покрывают настройки по умолчанию.
Замедляет ли wBlock Safari?
Нет при обычном использовании. wBlock использует нативный декларативный API блокировки контента Safari, который применяет скомпилированные правила вне процесса приложения. Локальные проверки в режиме ожидания составляют около ~40 МБ, а загрузка страниц остаётся на нативном пути блокировщика Safari.
Работают ли пользовательские скрипты на iOS и iPadOS?
Да. Движок пользовательских скриптов реализует распространённые API Greasemonkey (GM_getValue, GM_setValue, GM_xmlhttpRequest, GM_addStyle) на iOS, iPadOS и macOS через Safari Web Extensions.
Как заблокировать рекламу на Twitch?
wBlock включает пользовательский скрипт AdGuard Extra, который может помочь с рекламой на Twitch, взаимодействуя с GraphQL API Twitch (gql.twitch.tv) — тот же общий подход, на который полагаются пользователи uBlock Origin. Он поставляется отключённым по умолчанию, поэтому включите его для Twitch:
1. Откройте wBlock и перейдите в раздел Userscripts.
2. Найдите AdGuard Extra во встроенном списке и включите его.
3. Перезагрузите открытые вкладки Twitch.
Это блокировка рекламы в стиле сообщества, работающая по мере возможностей: Twitch часто меняет способ показа рекламы, поэтому она может периодически ломаться, пока скрипт не будет обновлён. Нет гарантии, что вся реклама будет удалена.
Что такое Tube Cleaner и Player Cleaner?
Это опциональные удалённо загружаемые пользовательские скрипты, вдохновлённые Vinegar и Baking Soda, которые открывают нативные элементы управления Safari на существующем медиаэлементе сайта. Они отключены по умолчанию; включите их в разделе Userscripts. Их релизы размещены в wBlock-userscripts и не привязаны к версии приложения wBlock.
Tube Cleaner нацелен на страницы YouTube watch, Shorts и Music. Он оставляет фреймы
/embed и youtube-nocookie собственному плееру YouTube, чтобы эти iframe не становились пустыми. На страницах watch он позволяет YouTube создать и инициализировать собственный <video> и поток SABR/MSE, затем применяет нативные элементы управления и скрывает кастомный интерфейс YouTube до его отрисовки. Предпросмотры миниатюр при наведении остаются у YouTube, чтобы они не могли перехватить плеер watch. Повторное использование того же медиаэлемента сохраняет буферизацию и адаптивное воспроизведение, восстанавливая режим «картинка в картинке» и фоновое воспроизведение. Он переносит главы и субтитры YouTube в нативные медиаменю Safari и пропускает известные сегменты через SponsorBlock с его конфиденциальным API на основе хэш-префиксов. Его компактная панель SB предоставляет цвета категорий в стиле SponsorBlock и поведение Auto skip, Show skip button или Disabled для каждой категории, а также элементы управления минимальной длительностью, уведомлением об отмене, текущим видео и исключением каналов. Опциональная панель DA может использовать DeArrow для замены отправленных заголовков и миниатюр на странице watch и видимых карточках YouTube, восстановления оригиналов при наведении или исключения текущего канала. Результаты кэшируются на время сессии; случайные запасные миниатюры, переформатирование заголовков, отправки и голосования остаются функциями полного расширения DeArrow. Данные API SponsorBlock и DeArrow используются в соответствии с CC BY-NC-SA 4.0. SB и DA находятся на собственной строке панели инструментов ниже элементов управления качеством и аудио/видео. На iPhone и iPad нативные элементы управления Safari владеют воспроизведением, а компактная панель появляется над ними; выбор качества на мобильных устройствах применяется только к текущему видео, чтобы фиксированный диапазон не мог остановить следующий поток ManagedMediaSource. Tube Cleaner также сохраняет ограничение удалённого воспроизведения, которое WebKit требует для этого потока, а аудио-режим остаётся функцией macOS. Он следует за активным плеером, поскольку YouTube сохраняет офскринные Shorts. Реклама остаётся ответственностью правил блокировки контента wBlock.
Player Cleaner нацелен на кастомные плееры на других сайтах (video.js, JW Player, Plyr, Flowplayer, MediaElement, Clappr, Media Chrome/Mux и другие), включая плееры с shadow-root, такие как
<play-av> на Archive.org. Он немедленно включает нативные элементы управления. Когда безопасный прямой источник доступен в light DOM, он удаляет кастомный интерфейс, сохраняя исходный медиаэлемент; shadow-компоненты и непрозрачные конвейеры HLS/DASH/MSE остаются нетронутыми и продолжают использовать потоковую механику сайта. Он восстанавливает побочные файлы субтитров и глав, открытые страницей или распространёнными API плееров, заполняет отсутствующие метаданные Now Playing и действия медиаклавиш системы, а также запоминает скорость воспроизведения, громкость, состояние без звука, язык субтитров и позицию возобновления для каждого сайта. Если сайт ведёт себя некорректно, отключите Player Cleaner для этого сайта с панели инструментов wBlock.
Где их найти и на чём их можно протестировать?
Оба поставляются отключёнными. Откройте вкладку Userscripts: Tube Cleaner и Player Cleaner находятся вверху раздела General. Включите один из них, затем перезагрузите страницу, которую хотите протестировать. Если их нет в списке, вы используете сборку wBlock до этого изменения — закройте wBlock и запустите эту ветку из Xcode (установка Homebrew или релиза не может содержать код ветки).
Tube Cleaner (страницы watch YouTube):
• Big Buck Bunny — длинное видео, много качеств, хорошо для меню качества
• Sintel
• Tears of Steel
Проверьте, что нативные элементы управления появляются без вспышки интерфейса YouTube, что работают элементы управления качеством и аудио-режимом, что панель инструментов появляется снова при наведении мыши на уже наведённый плеер, что работает режим «картинка в картинке» и что аудио продолжает играть в другой вкладке. Встроенные iframe YouTube на других сайтах должны сохранять собственный плеер YouTube. Панель DA отключена по умолчанию; включите её, чтобы протестировать заголовки DeArrow, миниатюры, поведение «оригинал при наведении» и исключения каналов. Поведение рекламы зависит от включённых списков фильтров wBlock.
Player Cleaner (кастомные плееры других сайтов), по одной демонстрации на каждую поддерживаемую библиотеку:
• video.js / Media Chrome — videojs.org
• Plyr — plyr.io
• JW Player — stream tester и demo
• Archive.org shadow-root JW Player — FedFlix sample
• Clappr — clappr.io и cdn.clappr.io
• MediaElement — mediaelementjs.com
• hls.js — hls.js demo
• dash.js — DASH reference player
Проверьте, что нативные элементы управления появляются быстро, что работают режим «картинка в картинке» и полноэкранный режим, и что воспроизведение не перезапускается при исчезновении кастомного интерфейса. Плееры HLS/DASH/blob могут сохранять свой потоковый конвейер при использовании нативных элементов управления. Если сайт ведёт себя некорректно, отключите Player Cleaner для этого сайта с панели инструментов wBlock.
Почему баннеры cookie или скриптлеты не работают в режиме приватного просмотра?
Safari отключает веб-расширения в режиме приватного просмотра, пока вы не включите Разрешить в режиме приватного просмотра для каждого из них. Фильтры уведомлений о cookie часто скрывают баннеры с помощью скриптлетов (например, heise.de через Sourcepoint), и они работают только через wBlock Scripts.
Safari → Настройки → Расширения → включите Разрешить в режиме приватного просмотра для wBlock Scripts и всех 5 контент-блокировщиков wBlock, затем перезагрузите окно приватного просмотра.
Если баннер уже исчез в обычном окне, это может быть просто сохранённый cookie согласия. Очистите cookie этого сайта и сравните снова, прежде чем предполагать, что фильтр сломан только в режиме приватного просмотра.
Как часто обновляются фильтры?
Интервалы автоматического обновления настраиваются от 1 часа до 7 дней, либо обновление можно запустить вручную. На macOS включение автоматического обновления регистрирует встроенный агент запуска, который может продолжать проверку, пока приложение закрыто, через фоновую службу обновления. На iOS и iPadOS фоновые проверки выполняются по мере возможности и могут ждать, пока система активирует wBlock или вы снова откроете его. Открытие Safari не запускает обновления. Обновления используют условные HTTP-запросы (заголовки If-Modified-Since/ETag), когда серверы их поддерживают, что сокращает ненужные загрузки.
Доступен ли элемент-заппер на iOS и iPadOS?
Да. Откройте всплывающее окно расширения wBlock в Safari и нажмите Активировать элемент-заппер.