Обновление браузерного расширения 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 отправлял доменное имя в специальный веб-сервис. Это очень простой и очевидный путь, однако он имел один серьезный недостаток. Мы могли видеть, какие сайты вы посещаете. Конечно, мы никогда не сохраняли и не использовали эту информацию, но все равно получалось как-то нехорошо :) Поэтому мы изменили стратегию, и с этого момента ваши личные данные вообще никак не доступны.

Теперь вместо того, чтобы отсылать целое доменное имя:
1. Adguard вычисляет 256-битный хэш доменного имени.
2. Затем он отправляет первые 32 бита этого хэша к веб-службе и получает все соответствующие хэши в ответ.
3. 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 или новее)

Обновлённая версия ожидает проверки

Safari

Обновлённая версия еще не опубликована в Safari Extensions Gallery

Opera* *

Старые версии Firefox и Pale Moon

Спасибо всем, кто участвовал в тестировании этого релиза! Мы очень ценим вашу помощь.

Всегда ваша,

команда Adguard

Мистер Adguard

Ух... вы нашли наш маленький секрет! Мы правда не помним, кто написал эту статью... Но ничего, Мистер Adguard всегда прикроет, когда это необходимо.

Подписаться на Блог Adguard

Последние посты будут доставлены в ваш почтовый ящик.

или подписаться через RSS с Feedly!