Компания AdGuard провела мастер-класс по составлению фильтров
Модификаторы помогают точнее настроить поведение составляемого правила. Давайте вместе рассмотрим базовые модификаторы, которые применяются чаще всего.
$app
Этот модификатор ограничивает действие правила до конкретного приложения (или списка приложений). Такой модификатор будет особенно полезным для мобильных устройств, где некоторые правила фильтрации должны быть связаны с конкретными приложениями. Тем не менее, для разных ОС написание правила будет отличаться:
Android — используйте имя пакета приложения, например, ap.example.app.
Windows — используйте имя процесса, например, windows.exe.
Mac — используйте bundle ID или имя процесса, например, com.google.Chrome.
И тогда правило с модификатором для Android будет выглядеть так:
||baddomain.com^$app=ap.example.app
Оно будет блокировать запросы, отправленные приложением ap.example.app.
$domain
Модификатор $domain ограничивает область действия правила запросами, сделанными с указанных доменов и их поддоменов.
Пример правила с модификатором:
||baddomain.com^$domain=example.org
Такое правило будет блокировать запросы, отправленные с домена example.org и его поддоменов.
$important
Модификатор $important увеличивает приоритет правила. Например:
||example.org^$important
@@||example.org^
Перед нами два правила, первое призывает блокировать всё запросы с домена example.org, второе — определяет этот домен в исключения и, наоборот, указывает не блокировать его запросы. Но, так как мы пометили блокирующее правило модификатором $important, действовать будет только первое правило.
$third-party
Этот модификатор поможет вам избежать нежелательной переадресации и запросов, отправленных со сторонних доменов. Правило, составленное с модификатором $third-party будет выглядеть так:
||domain.com^$third-party
И тогда это правило будет применяться для всех сайтов, кроме domain.com и его поддоменов. Например, оно заблокирует запрос, отправленный с http://example.org/banner.jpg
Мы можем добавить немного магии, превратив модификатор $third-party в $~third-party и тогда правило будет блокировать только запросы отправленные с того же домена, что мы указали в самом правиле. Например:
||domain.com$~third-party
Теперь это правило применяется исключительно к domain.com, и будет блокировать такие запросы как: http://domain.com/icon.ico
Урок окончен, теперь вы знаете чуть больше о базовых модификаторах для составления фильтров!