Многие пользователи выбирают Android именно потому, что эта ОС позволяет настроить мобильное устройство под свои вкусы и держать всё под контролем. И это абсолютно в порядке вещей, когда пользователей AdGuard по какой-то причине не устраивает его поведение по умолчанию. Допустим, вы хотите, чтобы защита отключалась при старте определённого приложения и снова включалась при его остановке. Это задача для так называемого "таскера".
Существует множество приложений-таскеров, например, Tasker, AutomateIt и другие. AdGuard предоставляет интерфейс, с помощью которого такие приложения могут задавать всевозможные правила автоматизации.
Благодаря этому интерфейсу любое приложение может послать специальное сообщение (также называемое "intent", или "интент"), которое содержит имя действия и какую-либо дополнительную информацию. AdGuard увидит этот интент и выполнит запрашиваемое действие.
"А не слишком ли это опасно" — спросите вы — "предоставлять случайным приложениям доступ к функциям AdGuard?" И будете правы, именно поэтому вместе с интентом пересылается пароль. Этот пароль генерируется автоматически, но вы, конечно, можете поменять его самостоятельно в расширенных настройках AdGuard.
Итак, готовы немного запачкать руки? Вот список действий, которые, будучи включёнными в интент, будут понятны AdGuard:
start
— стартует защиту, дополнительные данные не нужны;
stop
— останавливает защиту, дополнительные параметры не нужны;
pause
— ставит защиту на паузу. Отличие от stop
в том, что появится уведомление, тап по которому возобновит защиту. Дополнительные параметры не нужны;
update
— проверяет наличие обновлений фильтров и приложения, дополнительные данные не нужны;
dns_filtering
— включает и выключает DNS-фильтрацию. Требуется дополнительный флаг:
enable:true
или enable:false
— соответственно, включает или выключает DNS-фильтрацию.
dns_server
— переключается между DNS-серверами, вам нужно указать дополнительные параметры:
server: adguard dns
— переключается на сервер провайдера AdGuard DNS;
Полный список имен провайдеров доступен во вкладке "Свои настройки DNS" на экране DNS фильтрации
server: custom
— переключается на добавленный ранее сервер с именем custom
;
server: tls://dns.adguard.com
— создает новый сервер и переключается на него, если добавленные ранее серверы и провайдеры не содержат сервер с таким же адресом. В противном случае переключается на соответствующий сервер. Адреса серверов можно добавлять в виде IP (обычный DNS), sdns://…
(DNSCrypt или DNS-over-HTTPS), https://…
(DNS-over-HTTPS) или tls://...
(DNS-over-TLS);
server: 1.1.1.1, tls://1.1.1.1
— создает и переключается на сервер с адресами, указанными через запятую. При добавлении сервера через server: 1.1.1.1, tls://1.1.1.1
, ранее добавленный сервер удаляется.
server:system
— сбрасывает настройки DNS на "по умолчанию" (т.е. используются системные DNS серверы).
proxy_state
– включает и выключает исходящий прокси. Требуется установка флага:
enable:true
или enable:false
— активирует и деактивирует исходящий прокси соответственно.
proxy_default
– по умолчанию устанавливает прокси из списка уже существующих.
Дополнительно необходимо указать следующие параметры:
server:[name]
, где [name]
– это имя исходящего прокси-сервера из списка.
Также вы можете настроить параметры сервера вручную:
server:[type=…&host=…&port=…&username=…&password=…&udp=…&trust=…]
.
proxy_remove
- удаляет прокси-сервер из списка ранее добавленных.
server:[name]
, где [name]
– это имя исходящего прокси сервера из списка.
Также вы можете настроить параметры сервера вручную:
server:[type=…&host=…&port=…&username=…&password=…&udp=…&trust=…]
.
[type]
- тип сервера:
[host]
- домен или IP-адрес исходящего прокси-сервера;
[port]
- порт исходящего прокси-сервера (Целое число от 1 до 65535);
[login and password]
- только если этого требует прокси-сервер. Эти данные игнорируются при настройке SOCKS4;
[udp]
- применяется только при использовании типа сервера: SOCKS5 и включает опцию UDP через SOCKS5. Необходимо указать значение: true/false;
[trust]
- применяется только для типа сервера: HTTPS_CONNECT и включает опцию Trust any certificates. Необходимо указать значение: true/false;
Пример:
настройка по имени сервера
: server:MyServer
настройка вручную
: server:host=1.2.3.4&port=80&type=SOCKS5&username=foo&password=bar&udp=true
Не забудьте включить пароль как доп.параметр, а также упомянуть имя пакета и класс! Это необходимо делать для каждого интента!
Параметр: password:*******
Имя пакета: com.adguard.android
Класс: com.adguard.android.receivers.AutomationReceiver
Чтобы выполнить задачу без показа тоста, добавьте в дополнительном EXTRA quiet:true