跳转到主内容

Android 版 AdGuard 自动化方式

信息

本文所述 AdGuard Android 版是在系统级上保护设备的多功能的广告拦截器。 要了解其工作原理, 请下载 AdGuard 应用程序

许多人选择 Android,是因为他们喜欢自定义设置并希望全面控制他们的设备。 如有些 AdGuard 用户对其默认行为不满意,也是完全正常的。 比方说,您要在某个应用启动时停止保护,然后在此应用关闭时再次重新启动它。 这是 Tasker 应用的工作。

AdGuard 界面

目前有很多任务管理应用程序,例如 TaskerAutomateIt 等等。 AdGuard 提供一个界面,允许这些应用程序设置各种自动化规则。

自动化 *mobile_border

有了这个界面,任何应用程序都可以发送一条特殊 intent 消息(中文:“意图”),其中包含操作名称和一些必要的附加数据。 AdGuard 将查看 intent 消息并执行所需的操作。

安全问题

让一些随机应用程序管理 AdGuard 的工作是否危险? 是的,这就是密码会跟 intent 消息一起发送的原因。 此密码将由 AdGuard 自动生成,但用户当然可以随时更改它。

可用操作

以下是 AdGuard 可以理解的包含在 intent 消息中的操作:

start 开始保护,不需要额外的数据;

stop 禁用保护,不需要额外的数据;

pause 暂停保护。 这与 stop 的区别在于,当用户点击暂停保护时,会出现重新启动保护的通知。 无需额外数据;

update 检查可用的过滤器和应用程序更新,不需要额外的数据;


dns_filtering 打开或关闭 DNS 过滤。 需要额外的标志:

enable:trueenable:false 相应地启用或禁用 DNS 过滤。

fake_dns 允许在指定的代理服务器上解析 DNS 请求。 这个设置需要额外的标志:

enable:trueenable:false 可以分别启用或禁用「使用 FakeDNS」设置。

注意

启用「使用 FakeDNS」设置时,「DNS 保护」将自动禁用。 DNS 请求不会在本地被过滤。


dns_server 在 DNS 服务器之间切换时,需要包含额外的数据:

server:adguard dns 切换到 AdGuard 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 添加服务器时,先前添加的服务器将被移除。

server:system 将 DNS 设置重置为默认的系统 DNS 服务器。


proxy_state 启用/禁用出站代理。 需要额外的标志:

enable:trueenable: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] 代理服务器类型:

  • HTTP
  • SOCKS4
  • SOCKS5
  • HTTPS_CONNECT

[host],出站代理域名或 IP 地址;

[port],出站代理端口(1 到 65535 之间的整数);

  • 可选参数

    [login and password] 仅在代理需要的情况下被使用。 设置 SOCKS4 时,该数据将被忽略;

    [udp] 仅适用于 SOCKS5 服务器类型并包含选项通过 SOCKS5 的 UDP。 有必要设置 true 或 false 值;

    [trust] 仅适用于 HTTPS_CONNECT 服务器类型,包括选项 Trust any certificates。 有必要设置 true 或 false 值。

示例

按名称设置:server:MyServer

manually settings: server:host=1.2.3.4&port=80&type=SOCKS5&username=foo&password=bar&udp=true

请别忘记包含密码、包名称和类别。 您需要为每个 intent 消息都这样做。

Extra: password:*******

Package: com.adguard.android

Class: com.adguard.android.receiver.AutomationReceiver

注意

在 v4.0 之前,该类被称为 com.adguard.android.receivers.AutomationReceiver 但是后来我们将其名称更改为 com.adguard.android.receiver.AutomationReceiver。 如果用户使用该功能,请记得更新名称。

在没有通知的情况下执行

如果不想接收通知,请在其中一个额外字段中添加 quiet: true

示例

自动化 *mobile