Браузерное расширение AdGuard: 2.1.0 бета
Представляем обновление наших расширений с новыми функциями и очень важными изменениями. Прежде всего, мы сфокусировались на Safari и их новой технологии для блокировки контента — Content Blocker API, но во время работы над поддержкой нового API мы решили добавить некоторые функции, которые будут полезны пользователям любого браузера. Ну что ж, начнём.
API для блокировки контента в Safari #16
Возможно вы уже слышали, что Apple представила новый API для Safari, предназначенный специально для блокировщиков рекламы. Он работает как на OS X, так и на iOS — так и появилось приложение Adguard для iPhone и iPad. А теперь настало время и для «большого брата» — десктопного расширения Adguard. Если вы пользуетесь Safari 9 и более поздними версиями, Adguard будет использовать новый API вместо старого. Пользователи Safari 7-8: не волнуйтесь, мы по-прежнему осуществляем поддержку этих браузеров.
У нового API есть свои плюсы и минусы.
Плюсы:
- Теперь мы можем блокировать любой веб-запрос. Со старым API (из-за самого его механизма) мы могли пропускать некоторые видео-объявления.
- Он быстрее, чем старый API. Разработчики Safari явно сконцентрировались на вопросах производительности.
Минусы:
- Синтаксис правил блокировки контента не соответствуют синтаксису фильтров Adguard на все 100%. Это значит, что отдельные правила могли и не сработать. Поэтому мы добавили новый фильтр Adguard Safari Filter, задача которого состоит в устранении проблемы с пропущенными правилами.
- У этого API очень странное ограничение по количеству правил. Нельзя использовать более 50000 одновременно. Из-за этого ограничения мы ввели функцию, описанную ниже.
Использование «оптимизированных» фильтров #68
Когда-то мы добавили опцию (выключенную по умолчанию), позволяющую вам отправлять нам статистику рекламных фильтров. Эта статистика позволяла нам оптимизировать установленные фильтры и удалять лишние правила. Но что еще более важно, она позволила нам использовать специальные «оптимизированные» фильтры в Adguard для iOS и Android-версии. Производительность приложения и потребление памяти зависит от размера фильтров, поэтому просто необходимо использовать более «легковесные» фильтры.
Теперь вы можете использовать те же самые оптимизированные фильтры в браузерном расширении Adguard. Если вы обеспокоены производительностью расширения и потреблением памяти, то мы очень рекомендуем вам воспользоваться этой новой возможностью.
Взгляните на скриншот ниже. Один «снимок памяти» сделан с фильтрами, выстроенными по умолчанию, а второй — с «оптимизированными фильтрами». Разница поражает. С «оптимизированными» фильтрами, потребление памяти сократилось почти на 40%.
Более приватная проверка безопасности домена #50
Для начала вспомним как проверка осуществлялась в более ранних версиях. Для того, чтобы проверить является ли домен фишинговым или вредоносным, Adguard отправлял доменное имя в специальный веб-сервис. Это очень простой и очевидный путь, однако он имел один серьезный недостаток. Мы могли видеть, какие сайты вы посещаете. Конечно, мы никогда не сохраняли и не использовали эту информацию, но все равно получалось как-то нехорошо :) Поэтому мы изменили стратегию, и с этого момента ваши личные данные вообще никак не доступны.
Теперь вместо того, чтобы отсылать целое доменное имя:
- Adguard вычисляет 256-битный хэш доменного имени.
- Затем он отправляет первые 32 бита этого хэша к веб-службе и получает все соответствующие хэши в ответ.
- Adguard проверяет, соответствует ли они хэшу домена.
Как видите, никакая личная информация не отправяется.
Другие изменения
[изменено] Реорганизация UI и фоновых служб связи #26
[изменено] Отображение реального количества правил, используемых расширением: #78
[изменено] $popup правила должны применяться только к «документу» #79
[изменено] $elemhide правила должны применяться только к «документам»: #60
[изменено] Продолжать увеличение счетчика «заблокированных элементов»: #83
[добавлено] Добавить поддержу модификатора $generichide: #31
[добавлено] Добавить поддержу модификатора $genericblock: #30
Firefox
[исправлено] Колонка «Источник» журнала фильтрации — пустая для недавно открытых сайтов: #38
[исправлено] Ошибка в консоли FF: невозможно запустить сценарий, потому что сценарий заблокирован изнутри: #45
[исправлено] Журнал фильтрации в Firefox 38 ESR: пустой реферер для КАЖДОГО запроса: #47
[исправлено] Сбор статистики фильтров не корректен, когда включен e10s: #36
[исправлено] Не отключается фильтрация рекламы для сайта в Tor Browser: #96
Safari
[исправлено] Свойство SafariPrivateBrowsing устарело. Вместо этого используйте свойство SafariBrowserTab: #65
Незначительные проблемы
[изменено] Иконка сайта более высокого разрешения на страницах расширения: #40
[исправлено] Убрать параметр ‘host’ на странице «Доступ запрещен»: #72
Как установить бета-версию
Chromium
Firefox (версия 30 и новее)
Safari
Вы всегда можете посмотреть как меняется проект — заходите к нам на Github. Кстати, там же вы можете оставлять нам информацию о найденных проблемах и запросы новых функций.
Всегда ваша,
команда Adguard