From 401410dd65cf8a1ebd109dc95c9ef98b6824cb8c Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Tue, 16 Jun 2026 13:52:58 +0300 Subject: [PATCH 01/10] docs: document autodevice feature; --- docs/dns-client/configuration.md | 25 ++++++++++++++++++- .../mobile-and-desktop/linux.md | 12 +++++++-- .../other-options/automatic-connection.md | 8 ++++++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index 6f65ad636..84487e27b 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -106,6 +106,29 @@ The `upstream` object configures the actual resolving of requests. It has the fo **Example:** `'8.8.8.8:53'` + :::note + + The autodevice option must be used only for AdGuard DNS upstreams. Otherwise, we can't guarantee proper work. + + ::: + + - `autodevice`: Represents an automatic connection of a device. It has the following properties: + + - `enabled`: Defines whether all clients within the current group can be connected automatically. + + - `profile_id`: ID of a profile, in which new devices will be added. + + - `device_type`: A type of device which will be created for new clients. + + **Property example:** + + ```yaml + 'autodevice': + - enabled: true + - profile_id: 'defa5678' + - device_type: '1' + ``` + - `match`: The list of criteria to match the request against. Each entry may contain the following properties: - `question_domain`: The domain or a suffix of the domain that the set of upstream servers should be used to resolve. @@ -134,7 +157,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo :::info - `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. + `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used in defining of the HumanID for clients, if it is not defined, an alternative way of generation is used: the HumanID is formed from the IP address. ::: diff --git a/docs/private-dns/connect-devices/mobile-and-desktop/linux.md b/docs/private-dns/connect-devices/mobile-and-desktop/linux.md index 9144c3810..95b72c49a 100644 --- a/docs/private-dns/connect-devices/mobile-and-desktop/linux.md +++ b/docs/private-dns/connect-devices/mobile-and-desktop/linux.md @@ -10,12 +10,20 @@ To connect a Linux device to AdGuard DNS, first add it to *Dashboard*: 1. Name the device. ![Connecting device *mobile_border](https://cdn.adtidy.org/content/kb/dns/private/new_dns/connect/choose_linux.png) -## Use AdGuard DNS Client +## Use AdGuard DNS CLI -AdGuard DNS Client is a cross-platform console utility that allows you to use encrypted DNS protocols to access AdGuard DNS. +AdGuard DNS CLI is a cross-platform console utility that allows you to use encrypted DNS protocols to access AdGuard DNS. You can learn more about this in the [related article](/dns-client/overview/). +:::note + +You can use AdGuard DNS CLI for automatic device connection. See this [article][agdnscli-autodevice]. + +::: + +[agdnscli-autodevice]: http://test + ## Use AdGuard VPN CLI You can set up Private AdGuard DNS using the AdGuard VPN CLI (command-line interface). To get started with AdGuard VPN CLI, you’ll need to use Terminal. diff --git a/docs/private-dns/connect-devices/other-options/automatic-connection.md b/docs/private-dns/connect-devices/other-options/automatic-connection.md index f196f3cdf..ecb1dcd6a 100644 --- a/docs/private-dns/connect-devices/other-options/automatic-connection.md +++ b/docs/private-dns/connect-devices/other-options/automatic-connection.md @@ -18,6 +18,14 @@ You can create a connection link and use it in the device settings. Your device Now you can automatically connect your device to the server by creating a special address that includes the device name, device type, and current server ID. Let’s explore what these addresses look like and the rules for creating them. +:::note + +You can use AdGuard DNS CLI for automatic device connection. See this [article][agdnscli-autodevice]. + +::: + +[agdnscli-autodevice]: http://test + ### Examples of automatic connection addresses - `tls://adr-{Your_Server_ID}-AdGuard-Test-Device.d.adguard-dns.com` — this will automatically create an `Android` device with the `DNS-over-TLS` protocol named `AdGuard Test Device` From 5dbd28e9db139d8103b6eb176dd78ac291ea9bc3 Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Tue, 16 Jun 2026 14:25:30 +0300 Subject: [PATCH 02/10] docs: upd links; --- docs/private-dns/connect-devices/mobile-and-desktop/linux.md | 2 +- .../connect-devices/other-options/automatic-connection.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/private-dns/connect-devices/mobile-and-desktop/linux.md b/docs/private-dns/connect-devices/mobile-and-desktop/linux.md index 95b72c49a..68f1b777e 100644 --- a/docs/private-dns/connect-devices/mobile-and-desktop/linux.md +++ b/docs/private-dns/connect-devices/mobile-and-desktop/linux.md @@ -22,7 +22,7 @@ You can use AdGuard DNS CLI for automatic device connection. See this [article][ ::: -[agdnscli-autodevice]: http://test +[agdnscli-autodevice]: /dns-client/configuration.md#dns-upstream ## Use AdGuard VPN CLI diff --git a/docs/private-dns/connect-devices/other-options/automatic-connection.md b/docs/private-dns/connect-devices/other-options/automatic-connection.md index ecb1dcd6a..a2b8d0937 100644 --- a/docs/private-dns/connect-devices/other-options/automatic-connection.md +++ b/docs/private-dns/connect-devices/other-options/automatic-connection.md @@ -24,7 +24,7 @@ You can use AdGuard DNS CLI for automatic device connection. See this [article][ ::: -[agdnscli-autodevice]: http://test +[agdnscli-autodevice]: /dns-client/configuration.md#dns-upstream ### Examples of automatic connection addresses From a7d5a16f5d23a576234e0e6aca9661ef79ab010b Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Tue, 16 Jun 2026 19:28:40 +0300 Subject: [PATCH 03/10] dns-client: imp docs; --- docs/dns-client/configuration.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index 84487e27b..e14ed6a7f 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -120,14 +120,14 @@ The `upstream` object configures the actual resolving of requests. It has the fo - `device_type`: A type of device which will be created for new clients. - **Property example:** + **Property example:** - ```yaml - 'autodevice': - - enabled: true - - profile_id: 'defa5678' - - device_type: '1' - ``` + ```yaml + 'autodevice': + - enabled: true + - profile_id: 'defa5678' + - device_type: 'lnx' + ``` - `match`: The list of criteria to match the request against. Each entry may contain the following properties: @@ -157,7 +157,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo :::info - `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used in defining of the HumanID for clients, if it is not defined, an alternative way of generation is used: the HumanID is formed from the IP address. + `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used in defining of the HumanID for clients. If it is not defined, an alternative way of generation is used: the HumanID is formed from the IP address. ::: From b36a1c55f60cdae164a60025e744b7f8910d209f Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Tue, 16 Jun 2026 19:32:10 +0300 Subject: [PATCH 04/10] dns-client: imp docs; --- docs/dns-client/configuration.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index e14ed6a7f..4cbac658f 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -123,10 +123,10 @@ The `upstream` object configures the actual resolving of requests. It has the fo **Property example:** ```yaml - 'autodevice': - - enabled: true - - profile_id: 'defa5678' - - device_type: 'lnx' + 'autodevice': + - enabled: true + - profile_id: 'defa5678' + - device_type: 'lnx' ``` - `match`: The list of criteria to match the request against. Each entry may contain the following properties: From 99615f82684506b11934b93a0294cd230ba48fe7 Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Thu, 18 Jun 2026 18:47:35 +0300 Subject: [PATCH 05/10] docs: imp docs; --- docs/dns-client/configuration.md | 4 ++-- docs/private-dns/connect-devices/mobile-and-desktop/linux.md | 2 +- .../connect-devices/other-options/automatic-connection.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index 4cbac658f..2a7a64d89 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -108,7 +108,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo :::note - The autodevice option must be used only for AdGuard DNS upstreams. Otherwise, we can't guarantee proper work. + The autodevice option must be used only for AdGuard DNS upstreams. Otherwise, we can’t guarantee proper work. ::: @@ -157,7 +157,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo :::info - `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used in defining of the HumanID for clients. If it is not defined, an alternative way of generation is used: the HumanID is formed from the IP address. + `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used to define the HumanID for clients. If it is not defined, an alternative generation method is used, whereby the HumanID is formed from the IP address. ::: diff --git a/docs/private-dns/connect-devices/mobile-and-desktop/linux.md b/docs/private-dns/connect-devices/mobile-and-desktop/linux.md index 68f1b777e..e0e159d83 100644 --- a/docs/private-dns/connect-devices/mobile-and-desktop/linux.md +++ b/docs/private-dns/connect-devices/mobile-and-desktop/linux.md @@ -18,7 +18,7 @@ You can learn more about this in the [related article](/dns-client/overview/). :::note -You can use AdGuard DNS CLI for automatic device connection. See this [article][agdnscli-autodevice]. +You can [use AdGuard DNS CLI for automatic device connection][agdnscli-autodevice]. ::: diff --git a/docs/private-dns/connect-devices/other-options/automatic-connection.md b/docs/private-dns/connect-devices/other-options/automatic-connection.md index a2b8d0937..36886d2a8 100644 --- a/docs/private-dns/connect-devices/other-options/automatic-connection.md +++ b/docs/private-dns/connect-devices/other-options/automatic-connection.md @@ -20,7 +20,7 @@ Now you can automatically connect your device to the server by creating a specia :::note -You can use AdGuard DNS CLI for automatic device connection. See this [article][agdnscli-autodevice]. +You can [use AdGuard DNS CLI for automatic device connection][agdnscli-autodevice]. ::: From 9c737ae0edaab1b0fba7586becb659d41f5e95e5 Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Fri, 26 Jun 2026 13:52:44 +0300 Subject: [PATCH 06/10] dns-client: imp docs; --- docs/dns-client/configuration.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index 2a7a64d89..1fa9e5e6e 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -106,13 +106,15 @@ The `upstream` object configures the actual resolving of requests. It has the fo **Example:** `'8.8.8.8:53'` + - `autodevice`: Represents an automatic connection of a device. + :::note The autodevice option must be used only for AdGuard DNS upstreams. Otherwise, we can’t guarantee proper work. ::: - - `autodevice`: Represents an automatic connection of a device. It has the following properties: + It has the following properties: - `enabled`: Defines whether all clients within the current group can be connected automatically. From 1c04ccb37fba157917bb406862ea1d5807ea0c1d Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Thu, 9 Jul 2026 13:01:01 +0300 Subject: [PATCH 07/10] dns-client: imp docs; --- docs/dns-client/configuration.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index 1fa9e5e6e..e61187a96 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -102,7 +102,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo - `groups`: The set of upstream servers keyed by the group’s name. It has the following properties: - - `address`: The upstream server’s address. + - `address`: The upstream server’s address. If `autodevice.enabled` set to `true` for this group, the address should be a URL with one of `https`, `tls`, or `quic` scheme. **Example:** `'8.8.8.8:53'` @@ -116,11 +116,20 @@ The `upstream` object configures the actual resolving of requests. It has the fo It has the following properties: + :::info + + The predefined private group must have `enabled` set to false, as it doesn't support autodevice yet. + + ::: + - `enabled`: Defines whether all clients within the current group can be connected automatically. - - `profile_id`: ID of a profile, in which new devices will be added. + - `profile_id`: [ID of a profile][profile-id], in which new devices will be added. + + - `device_type`: A [type of device][device-type] which will be created for new clients. - - `device_type`: A type of device which will be created for new clients. + [profile-id]: [https://adguard-dns.io/kb/private-dns/solving-problems/automatic-devices/#dns-server-id] + [device-type]: [https://adguard-dns.io/kb/private-dns/solving-problems/automatic-devices/#device-type] **Property example:** @@ -159,7 +168,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo :::info - `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used to define the HumanID for clients. If it is not defined, an alternative generation method is used, whereby the HumanID is formed from the IP address. + `groups` should contain at least a single entry named `default`, and optionally a single entry named `private`, both should have no `match` property. The `private` group is also used to define the HumanID for clients created by `autodevice` feature. If it is not defined, an alternative generation method is used, whereby the HumanID is formed from the IP address. ::: From 5add4722d0220b641d5c40d125e5793ee2a3ad31 Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Thu, 9 Jul 2026 14:45:19 +0300 Subject: [PATCH 08/10] dns-client: imp references; --- docs/dns-client/configuration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index e61187a96..70cb7ddec 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -118,7 +118,7 @@ The `upstream` object configures the actual resolving of requests. It has the fo :::info - The predefined private group must have `enabled` set to false, as it doesn't support autodevice yet. + The predefined `private` group must have `enabled` set to false, as it doesn't support autodevice yet. ::: @@ -128,8 +128,8 @@ The `upstream` object configures the actual resolving of requests. It has the fo - `device_type`: A [type of device][device-type] which will be created for new clients. - [profile-id]: [https://adguard-dns.io/kb/private-dns/solving-problems/automatic-devices/#dns-server-id] - [device-type]: [https://adguard-dns.io/kb/private-dns/solving-problems/automatic-devices/#device-type] + [profile-id]: /private-dns/solving-problems/automatic-devices/#dns-server-id + [device-type]: /private-dns/solving-problems/automatic-devices/#device-type **Property example:** From cb523715a88628c88e07677257532eca7c11f671 Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Thu, 9 Jul 2026 15:35:26 +0300 Subject: [PATCH 09/10] dns-client: imp docs; --- docs/dns-client/configuration.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index 70cb7ddec..d66c4a8b0 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -116,21 +116,18 @@ The `upstream` object configures the actual resolving of requests. It has the fo It has the following properties: + - `enabled`: Defines whether all clients within the current group can be connected automatically. + :::info The predefined `private` group must have `enabled` set to false, as it doesn't support autodevice yet. ::: - - `enabled`: Defines whether all clients within the current group can be connected automatically. - - `profile_id`: [ID of a profile][profile-id], in which new devices will be added. - `device_type`: A [type of device][device-type] which will be created for new clients. - [profile-id]: /private-dns/solving-problems/automatic-devices/#dns-server-id - [device-type]: /private-dns/solving-problems/automatic-devices/#device-type - **Property example:** ```yaml @@ -195,6 +192,9 @@ The `fallback` object configures the behavior of the DNS server in case of failu **Example:** `2s` +[profile-id]: /private-dns/solving-problems/automatic-devices/#dns-server-id +[device-type]: /private-dns/solving-problems/automatic-devices/#device-type + ## `debug` {#debug} The `debug` object configures the debugging features. It has the following properties: From ac9f72b59d6fff13ef973b13a0ade5dea7d7c9d0 Mon Sep 17 00:00:00 2001 From: Maksim Kazantsev Date: Thu, 9 Jul 2026 18:28:14 +0300 Subject: [PATCH 10/10] dns-client: fix docs; --- docs/dns-client/configuration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/dns-client/configuration.md b/docs/dns-client/configuration.md index d66c4a8b0..942d0713d 100644 --- a/docs/dns-client/configuration.md +++ b/docs/dns-client/configuration.md @@ -118,11 +118,11 @@ The `upstream` object configures the actual resolving of requests. It has the fo - `enabled`: Defines whether all clients within the current group can be connected automatically. - :::info + :::info - The predefined `private` group must have `enabled` set to false, as it doesn't support autodevice yet. + The predefined `private` group must have `enabled` set to false, as it doesn't support autodevice yet. - ::: + ::: - `profile_id`: [ID of a profile][profile-id], in which new devices will be added.