Обновление браузерного расширения AdGuard: версия 2.1
Наконец мы готовы представить вам важное обновление нашего браузерного расширения Adguard! Со времени публикации бета-версии мы успели внесли множество изменений и исправить некоторые ошибки.
Список самых важных изменения для тех, кто не любит тратить время на чтение:
- Теперь вы можете использовать «оптимизированные» фильтры, что делает Adguard еще более легковесным и, при этом, практически не влияет на качество фильтрации.
- Adguard стал первым полноценным блокировщиком рекламы для Safari, использующим новый API для контент блокеров.
- Мы переработали модуль антифишинга, сделав проверку безопасности сайта гораздо лучше с точки зрения сохранности личных данных.
- Новая версия исправляет множество дефектов и привносит кучу небольших улучшений в расширение.
Если хотите узнать об этом больше, дочитайте пост до конца.
Прежде всего, давайте мы напомним вам про API для блокировки контента, так как вокруг этого и строится наше обновление.
API для блокировки контента в Safari #16
Мы уже рассказывали вам о том, что Apple представила новый API для Safari, предназначенный специально для блокировщиков рекламы. Он работает как на OS X, так и на iOS — так и появилось приложение Adguard для iPhone.
А теперь настало время и для десктопного расширения Adguard. Если вы пользуетесь Safari 9 и более поздними версиями, Adguard будет использовать новый API вместо старого. Пользователи Safari 7-8: не волнуйтесь, мы по-прежнему осуществляем поддержку этих браузеров.
Однако, у нового API есть свои плюсы и минусы.
Плюсы:
- Теперь мы можем блокировать любой веб-запрос. Со старым API (из-за самого его механизма) мы могли пропускать некоторые видео-объявления.
- Он быстрее, чем старый API. Разработчики Safari явно сконцентрировались на вопросах производительности.
Минусы:
- Синтаксис правил блокировки контента не соответствуют синтаксису фильтров Adguard на все 100%. Это значит, что отдельные правила могли и не сработать. Поэтому мы добавили новый фильтр Adguard Safari Filter, задача которого состоит в устранении проблемы с пропущенными правилами.
- Журнал фильтрации и счетчик заблокированных элементов не поддерживается в новом API #160.
- У этого API очень странное ограничение по количеству правил. Нельзя использовать более 50000 одновременно. Из-за этого ограничения мы ввели функцию, описанную ниже.
Как вернуться к старому API
Некоторым из вас, возможно, захочется вернуться к старому API из-за минусов, перечисленных выше. Это возможно с помощью специальной настройки, переключающей Adguard к старому API: #143
Чтобы поменять эту настройку перейдите в «Safari» — «Настройки…» — «Расширения» и выберете Adguard. Перекючение к API требует перезапуск браузера.
Старый API устарел и будет убран в будущих версиях Safari!
Использование «оптимизированных» фильтров #68
Когда-то мы добавили опцию (выключенную по умолчанию), позволяющую вам отправлять нам статистику рекламных фильтров. Эта статистика позволяла нам оптимизировать установленные фильтры и удалять лишние правила. Но что еще более важно, она позволила нам использовать специальные «оптимизированные» фильтры в Adguard для iOS и Android-версии. Производительность приложения и потребление памяти зависит от размера фильтров, поэтому просто необходимо использовать более «легковесные» фильтры.
Теперь вы можете использовать те же самые оптимизированные фильтры в браузерном расширении Adguard. Если вы обеспокоены производительностью расширения и потреблением памяти, то мы очень рекомендуем вам воспользоваться этой новой возможностью.
Взгляните на скриншот ниже. Один «снимок памяти» сделан с фильтрами, выстроенными по умолчанию, а второй — с «оптимизированными фильтрами». Разница поражает. С «оптимизированными» фильтрами, потребление памяти сократилось почти на 40%.
Снимки памяти сделаны в Chromium. Первый показывает, что AG использует 17.7MB с фильтрами по умолчанию. Второй показывает, что AG использует 11.1MB с «оптимизированными» фильтрами.
Более приватная проверка безопасности домена #50
Вы знаете как проводилась проверка в предыдущих версиях?
Для того, чтобы проверить является ли домен фишинговым или вредоносным, Adguard отправлял доменное имя в специальный веб-сервис. Это очень простой и очевидный путь, однако он имел один серьезный недостаток. Мы могли видеть, какие сайты вы посещаете. Конечно, мы никогда не сохраняли и не использовали эту информацию, но все равно получалось как-то нехорошо :) Поэтому мы изменили стратегию, и с этого момента ваши личные данные вообще никак не доступны.
Теперь вместо того, чтобы отсылать целое доменное имя:
- Adguard вычисляет 256-битный хэш доменного имени.
- Затем он отправляет первые 32 бита этого хэша к веб-службе и получает все соответствующие хэши в ответ.
- Adguard проверяет, соответствует ли они хэшу домена.
Как видите, никакая личная информация не отправяется.
Другие изменения
[добавлено] Опция «Разрешить показ полезной рекламы» на страницу «Спасибо за установку». #113
[добавлено] Поддержка модификатора $genericblock: #30
[добавлено] Поддержа модификатора $generichide: #31
[изменено] $elemhide правила должны применяться только к «документам: #60
[изменено] $popup правила применяются только к «документу: #79
[изменено] Отображение реального количества правил, используемых расширением: #78
[изменено] Продолжать увеличение счетчика «заблокированных элементов: #83
[изменено] Реорганизация UI и фоновых служб связи: #26
[изменено] Обновление копирайта до 2016: #125
[исправлено] Неверное правило, сформированное функцией «Заблокировать на сайте»: #122
[исправлено] Пользовательский фильтр теперь загружается первым (прежде всех остальных): #117
Firefox
[изменено] Блокировка Avoid blocking UI thread while initializing filter rules: #131
[исправлено] «Небезопасное использование CPOW» в Firefox Nightly, из-за метода getTabForContentWindow: #130
[исправлено] Отсутствие блокировки потока пользовательского интерфейса при инициализации правил фильтрации: #131
[исправлено] Нельзя отключить блокировку рекламы для сайта в Tor Browser: #96
[исправлено] Ошибка в консоли FF: невозможно запустить скрипт, потому что скрипты блокируются изнутри: #45
[исправлено] Сбор статистики фильтров не корректен, когда включен e10s: #36
[исправлено] Колонка «Источник» журнала фильтрации — пустая для недавно открытых сайтов: #38
[исправлено] Журнал фильтрации в Firefox 38 ESR: пустой реферер для КАЖДОГО запроса: #47
[исправлено] Журнал фильтрации работает очень медленно на вебсайтах с картинками 1k+: #137
[исправлено] Нет логов Adguard в Browser Console: #135
[исправлено] Иногда настройки не сохраняются в Firefox для Android: #105
[исправлено] Пользовательский фильтр не экспортируется в новый файл: #136
Safari
[исправлено] Контентный скрипт не получает запросы от фоновой страницы, если страница предустановленна «Safari Top Hit»: #159
[исправлено] Свойство SafariPrivateBrowsing устарело. Вместо этого используйте свойство SafariBrowserTab #65
Chromium
[изменено] Теперь используется теневой DOM для CSS injections: #44
Minor issues
[изменено] Иконка сайта более высокого разрешения на страницах расширения: #40
[исправлено] Убрать параметр ‘host’ на странице «Доступ запрещен»: #72
Как установить?
Chromium
Обновлённая версия ожидает проверки
Firefox (версия 30 или новее)
Обновлённая версия ожидает проверки
Opera* *
Спасибо всем, кто участвовал в тестировании этого релиза! Мы очень ценим вашу помощь.
Всегда ваша,
команда Adguard