Дополнение для FireFox "HTTP UserAgent cleaner" - справка



 Support(English; do not use Google translate, if do not speak English - write in the language that you know. If needed, my crypto key ( https://www.gpg4win.org/ ) is C64BE61A in keys.gnupg.net [0ADA 369A 692F 515F F4CC 6C2B D30A C753 C64B E61A])
Поддержка(на русском. Если хотите шифровать переписку, мой GnuPG-ключ шифрования ( https://www.gpg4win.org/ ): C64BE61A на keys.gnupg.net [0ADA 369A 692F 515F F4CC 6C2B D30A C753 C64B E61A])






Фильтры вкладки "Сторонние" могут работать в двух разных режимах исполнения: немедленного исполнения и исполнения на листьях. Кроме этого, у них есть режим логирования.

Для начала о режиме исполнения.
Фильтры с зелёным кружком работают непосредственно, если выполнено условие правила (режим немедленного выполнения).
Фильтры с красным треугольником не выполняются, если выполнено условие правила. Они выполняются только для правил, подчинённых данному (сразу же или через уровни других правил), причём со следующими условиями:

1. Правило не имеет потомков (правило-лист). Выключенное подчинённое правило тоже считается за потомка несмотря на то, что оно выключено.
2. На правиле-листе нет переопределяющего фильтра (в любом режиме исполнения).
3. Справделивы обычные правила приоритетов. Фильтр, исполняющийся на листьях, при его раскрытии, заменяется фильтрами немедленного исполнения. У этих фильтров приоритет правила-листа, на котором они исполняются.
Естественно, для выполнения фильтра требуется выполнение условия правила-листа (включая все условия правил над этим листом, как обычно).


Давайте попробуем посмотреть на работу этих фильров на примере. Допустим, мы хотим заблокировать все запросы, кроме запросов к yandex.ru . Для простоты, будем считать, что у нас пока нет правил в дополнении.
Для начала создадим правило, блокирующее все запросы.


Проверим на любом сайте: действительно, запросы блокируются. Теперь мы хотим разрешить посещение yandex.ru . Создадим подчинённое правило, которое определяет соответствующее поведение.


Теперь мы можем зайти на yandex.ru , включая его поддомены. Однако, мы не ограничиваем ни его поддомены, ни запросы на другие сайты.
Давайте разрешим заход на главную страницу "yandex.ru" и на сайт "translate.yandex.ru", а на всё остальное - запретим.


Как видим, нам пришлось поработать: в том числе, добавить два фильтра "Request:-" к двум новым правилам и снять один у старого.

Этого можно было бы избежать. Давайте снимем все фильтры "Request: -".


Теперь добавим к верхнему правилу ещё один фильтр "Request".


Получим следующее.


Мы видим, что фильтр добавился, но вместо зелёного кружка у него красный треугольник.
Как и обычно, переключим этот фильтр в положение "Request:-".


Теперь мы снова можем зайти на yandex.ru и translate.yandex.ru, однако не можем на другие сайты.
Фильтр "Request:-" в режиме исполнения на листьях(красный треугольник) автоматически применил к самым подчинённым правилам (листам) фильтр "Request:-".
То есть его работа эквивалента работе этих фильтров:


Действительно, правила "translate" и "www" не имеют потомков и нигде не переопределено поведение фильтра Request с помощью других фильтров Request (в режиме исполнения на листьях). Поэтому для этих правил автоматически установлен фильтр "Request:-" (в режиме немедленного исполнения).
При этом для правила с условием "td[:1]=yandex.ru" фильтр "Request:-" автоматически не устанавливается: так как это правило имеет потомков.

Если мы хотим иметь практическую применимость правил, то эти правила не годятся. Нужно что-то такое:


Эти правила позволят отфильтровывать ненужные запросы к другим доменам и, в то же время, разрешать запросы к доменам Yandex, без них сервисы Yandex не будут работать.
Как видим, и здесь мы можем не указывать фильтры "Request:-", так как на верхнем правиле указан фильтр "Request:-" с применением на листьях.

Если мы хотим работать с сервисами yandex.ru без авторизации, то мы можем также попробовать запретить установку куков для всех разрешённых правил.
Нам нужно либо установить на двух нижних правилах фильтры "hCookies:+", запрещающие куки, либо установить один фильтр "hCookies:+" в режиме исполнения на листьях в верхнем правиле. Вот так:


Если подчинённых правил много, то наблюдается существенная экономия времени: вместо установления всех фильтров на листьях вручную теперь нужно установить только один фильтр на главном правиле.

Представим себе, что мы хотим работать с почтовым сервисом mail.yandex.ru , естественно, с авторизацией. Тогда нам нужно будет переопределить блокировку hCookies для почтового сервиса (и разрешить сам почтовый сервис).


Фильтр hCookies в правиле "mail" расположен в более подчинённом правиле, чем основной фильтр hCookies. Поэтому более подчинённый фильтр переопределяет верхний. Теперь мы можем зайти на mail.yandex.ru и работать там с авторизацией.




Режим логирования.
Все фильтры, по умолчанию, не логируются.
Срабатывания фильтров с красным "прицелом" логируются. Срабатывания фильтров с ноликом не определяют режим логирования (нейтральный режим логирования).
Если режим определён как (крест), фильтр не будет логироваться (режим отмены логирования).


Конфликты между различными настройками логирования одного фильтра определяются по правилам, аналогичным правилам приоритетов срабатывания фильтров.
То есть, если мы поставим всем фильтрам Request:+ режим логирования (), а всем фильтрам Request:- режим отмены логирования (), то срабатывание Request:+ произойдёт тогда же, когда он будет залогирован, а срабатывание Request:- никогда не будет залогировано. Причём в случае конфликта фильтров, срабатывания будут залогированы только в том случае, если Request:+ имел более высокий приоритет (по приоритету правила) и заблокировал запрос.
Режим определяет режим приоритетного логирования, режим определяет режим приоритетной отмены логирования. Они тажке работают по обычным для фильтров правилам приоритетов, однако если применён режим приоритетного логирования/отмены логирования, то неприоритетные режимы будут игнорироваться. То есть Request:+ и Request:- дадут аналогичную описанной выше картину, но при этом все и будут проигнорированы, даже если имеют более высокий приоритет правила.

Фильтры могут быть определены как ничего не делающие, например, Request:0 с установленным режимом логирования. Тогда этот фильтр считается определяющим именно режим логирования (скажем, если что-то из заблокированного контента мы хотим не логировать или наоборот, логировать, но не хотим переопределять режим работы фильтра Request, который уже установлен верно).
Логируются все фильтры запроса, если хотя бы один из них подлежит логированию.


Допустим, мы хотим заходить только на yandex.ru , но пока у нас нет никаких фильтров. Зайдём на https://yandex.ru и дождёмся полной загрузки страницы.
Затем нажмём на средную строку пустого правила, как будто хотим ввести условие правила. Затем нажмём клавишу F9.


Получим что-то такое:


Обратим внимание на правило с условием "rd[:1]=tns-counter.ru". Это правило автоматически сгенерированно для домена, с которого происходит подгрузка счётчиков посещяемости. Хотя мы могли бы использовать это правило для блокирования счётчика прямо в правиле для домена yandex.ru, счётчик можно было бы заблокировать и вообще, глобально. То есть мы можем сделать такое правило:


Сделаем правило, блокирующее все запросы (с приоритетом 6, ниже чем у правил для yandex.ru).


Разрешим запросы на yandex.ru.


Но, всё-таки, хочется видеть, что именно мы заблокировали в логе, а сейчас в логе нет ни одной блокировки.


Теперь в логе я вижу, что именно заблокировано. Я могу исправить ошибки, если они есть. Например, я не включил правило с именем "1.!=", и не задал верную структуру правил для срабатывания фильтра с исполнением на листьях. И теперь вижу в логе соответствующую проблему. Исправив ошибки я снова посмотрю лог.


Теперь я включил соответствующее правило и добавил к правилам yastatic.net и yandex.net пустые включённые правила (чтобы не заморачиваться с разблокировкой каждого поддомена, я таким образом разблокирую все запросы к хостам на этих доменах).


Как видим, логирование важно. Что я теперь вижу в логе?


Теперь я вижу только те блокировки, которые и хотел. Это mc.yandex.ru и tns-counter.ru. Допустим, я не хочу видеть tns-counter.ru.
Тогда, на правиле с блокировкой этого домена я поставлю приоритетную отмену логирования.





Теперь в логе заблокированные запросы к tns-counter.ru мы не видим.



Главная страница
Общие слова
Раздел "Функции вкладок HTTP и FireFox"

Раздел "Функции вкладки 'Сторонние'"
Настройка разрешения сервисных соединений и перенаправления на https
Режимы фильтров

Раздел "Общие настройки дополнения"
Раздел "Управление сертификатами"
Раздел "Контроль изменений сертификатов" (фильтр Certs)
Раздел "Чтение оценки TLS и HPKP" (фильтр CertsHPKP)

Проблемы с фильтрами, часто не отображающиеся в логах

Новости