x.Block : Дополнительные возможности
Опубликовано: Бармалей · 10.03.2019 · 00:03 ••• Обновление: 11.01.2021 · 10:49 0

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

В этой статье:


Отличие от SmartAdBlock и других блокировщиков

x.Block : "Русский резак", созданный на базе SmartAdBlock, имеет следующие отличительные особенности:

  • x.Block оптимизирован для работы на любых версиях хром-браузеров, код проверен на версиях 29-78.
  • x.Block не использует в работе JQuery и другие сторонние библиотеки, код полностью переписан на чистом JS.
  • Выбор любой из нескольких стандартных подписок, включая оптимизированные наборы RU AdList.
  • Можно задавать свои правила блокировки и использовать любые совместимые фильтры (формат AdBlock).
  • Опциональная зачистка страницы после загрузки, а также функция разблокировки контекстного меню.
  • Дополнительно к этому: блокировка механизмов слежения (отключение трекеров, "выпрямление" ссылок и т.д.).
  • Есть возможность применения "чёрных списков" для безусловной блокировки, в т.ч. – на базе hosts-файлов.
  • Возможность авто-включения прокси для любых недоступных/заблокированных ресурсов (задаётся правилами).
  • Обработка возможных ошибок при обновлении фильтров, добавлена опция загрузки фильтров через прокси.
  • Управление блокировкой по типу контента (с перекрытием стандартных настроек браузера).
  • Дополнительно: автостоп HTML5-видео и блокировка флэша, отключение изображений через контекстное меню.
  • Добавлено управление настройками приватности (частично перекрывает стандартные настройки браузера).
  • Добавлен режим "AD-охотник" для оперативного скрытия/отображения элементов веб-страниц вручную.
  • Добавлен синтаксис правил перенаправления запросов с одного сайта на другой (правила замены/редиректа).
  • Добавлен переход (запоминание) в режим просмотра мобильной версии сайтов (сервисы Google Mobilizer).
  • Можно оперативно отключать свои правила блокировки и/или любые фильтры/подписки и сам x.Block целиком.
  • Добавлен экспорт/импорт "своих" правил и пользовательских списков фильтров (файлы txt/json-формата).
  • Код разделён на динамически подгружаемые блоки, после обработки функций они полностью удаляются из памяти.
  • Оптимизирован инжектор, убрана инжекция стиля, добавлена обработка ссылок с протоколом abp:* (подписки).
  • Скрипт-инжектор также разделён на модули и меняется динамически в зависимости от заданных настроек.
  • Убраны потери времени на проверку "лишних" условий + улучшена обработка ошибок, снижены утечки памяти.
  • Все функции оптимизированы по скорости обработки, убран лишний "мусор" в коде, исправлены баги оригинала.
  • Изменён внешний вид попапа и настроек, убран "вырвиглазный" CSS, сделан полноценный перевод на русский.

Дополнительные (опциональные) функции

  • Блокировка попапов и множественных всплывашек на "мусорных" и "взрослых" сайтах.)
    Управляется специальными правилами синтаксиса и подписок SmartAdBlock, можно задавать свои правила.
  • Блокировки по типу контента (перекрывают часть настроек браузера) + блокировка флэша и автозапуска видео.
    Фактически – аналог ручного управления на страницах chrome://settings/content.
  • Блокировка механизмов слежения и источников утечки приватных данных (на уровне настроек браузера).
    Всё, что можно "покрутить" в chrome://settings…) В т.ч. – добавка "анонимизирующих" атрибутов к ссылкам и т.д..
  • Полная зачистка страниц от "мусорных" элементов, блокировка трекеров, обход ограничений доступа и др.
    Удаление заблокированных элементов страниц вместо их скрытия, удаление "следящих" атрибутов ссылок.
  • Собственный "чёрный список" доменов для безусловной блокировки (счётчики, фреймы, попапы и пр.).
    Безусловная блокировка всех запросов, работает очень "жёстко", рубит любые запросы к "черносписочникам".
  • Задание своих правил перенаправления запросов с одного сайта на другой (правила подстановки/редиректа).
    Может использоваться в качестве блокировочных правил, если не указана конечная цель редиректора.)
  • Просмотр заданных сайтов через пул анонимных прокси (задаётся специальными синтаксическими правилами).
    Правила применяются безусловно, иногда это может приводить к нежелательным коллизиям и "накладкам".
  • Режим "AD-охотник" – скрытие ненужных элементов веб-страниц вручную (независимо от правил и подписок).
    Эти правила запоминаются и в дальнейшем применяются для конкретных сайтов и веб-страниц.
  • Включение/запоминание режима просмотра мобильной версии сайтов (сервисы Google Mobilizer).
    Режим запоминается для каждого отдельного сайта, в дальнейшем включается автоматически.

Индикация состояния – просто, понятно, ненавязчиво

Да, в x.Block'е это сделано именно так – никаких назойливых "уведомлений", алертов и всплывающих окон, всё в соответствии с принятой концепцией – и простой значок на тулбаре может быть достаточно информативным.)

Индикация работы x.Block'а служит для быстрой визуальной оценки состояния расширения и осуществляется сменой значка на тулбаре и изменением текста бэджика у этого значка. Также, в зависимости от текущего состояния, меняется и подсказка для значка на тулбаре.

Кроме глобальных режимов (обновление или приостановка работы) индикаторы привязаны к каждой конкретной вкладке и отображают состояние x.Block'а именно для текущей страницы этой вкладки. При переключении между вкладками или при изменении (обновлении) страницы во вкладке, соответственно, меняются и бэджик и значок и подсказка.

На служебных и необрабатываемых страницах (например, в "огороженном" гуглозине) значок соответствует иконке расширения, бэджик выключен.

На этапе загрузки страницы бэджика нет, значок – концентрические круги, стилизованный "взгляд через прицел".) Если на какой-либо странице ничего не будет отфильтровано, значок таким и останется, на бэджике будет "0".

При срабатывании фильтров значок меняется на "плюсик". В общем случае бэджик меняется, отображая в динамике суммарное число заблокированных элементов на текущей странице (в подсказке также указывается это число, особенно заметно на "шибко модных" ресурсах, бывает, счётчик с течением времени "уваливает" под 1000)).

Для сайтов из пользовательского "белого списка" (где блокировка отключена вручную, в попапе) бэджик не отображается, значок меняется на "минус", в подсказке текст "x.Block отключён на этом сайте".

При временном отключении x.Block'а на бэджике отображается "OFF", значок меняется на символ "пауза".

При работе обновления значок меняется на круговые стрелки, бэджик анимирован надписью "UPD".

При успешном завершении обновления бэджик меняется на "Ok" (если в Настройках не задана автоперезагрузка после обновления). При ошибке на бэджике будет отображено "ERR".


Доступ к настройкам и дополнительным функциям

Для оперативного управления (включить/отключить, обновить фильтры и т.д.) используется попап (кнопка на тулбаре):

Для доступа к режиму "AD-охотника" – горячие клавиши прямо на странице или кнопки вызова "охотника" в попапе:

Для доступа ко всем параметрам – отдельное окно Настроек, можно вызвать/открыть прямо в попапе:

Для всех кнопок, полей, опций и других элементов управления есть контекстный хелп в виде всплывающих подсказок.



Описание и инструкции Бармалей
Бармалей 10.03.2019 11.01.2021 259 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский
Версия браузера:29+
Протестировано в:SRWare Iron 29/31/36/49 + 360 Extreme Explorer 9/11/12/13 (CR63/69/78/86)
Технологии и API:Чистый JavaScript (ES5), API: content-script, privacy, webRequest, contentSettings, contextMenus, storage, browserAction

Поделиться

Всего комментариев: 0
close