Skip to content

[AGDNS-3762] Update mdm-config.md - add 3 new parameters#405

Merged
vyanovsky merged 3 commits intomasterfrom
AGDNS-3762-add-3-new-mdm-parameters
Mar 12, 2026
Merged

[AGDNS-3762] Update mdm-config.md - add 3 new parameters#405
vyanovsky merged 3 commits intomasterfrom
AGDNS-3762-add-3-new-mdm-parameters

Conversation

@vyanovsky
Copy link
Contributor

Adding description for 3 new MAC parameters: eula_accepted, stats_enabled, installation_type (single_touch)

Adding description for 3 new MAC parameters: eula_accepted, stats_enabled, installation_type (single_touch)
@vyanovsky vyanovsky requested a review from aadmitrevskiy March 12, 2026 13:56
Copy link
Contributor

@windsurf-bot windsurf-bot bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 To request another review, post a new comment with "/windsurf-review".

@github-actions
Copy link

Preview was deployed to: https://pull-request-405.kb-dns.pages.dev/

| **DNS Protocol** (`dns_protocol`) | Choice | No | **Android:** doh, dot, doq. **iOS:** doh_native, dot_native, doh_vpn, dot_vpn, doq_vpn, doh_dnsproxy, dot_dnsproxy, doq_dnsproxy (Note: doh_dnsproxy, dot_dnsproxy and doq_dnsproxy work only in MDM with mobileconfig). | Determines which encrypted DNS protocol is used (Note: DoQ not compatible with Native mode on iOS). | App enters managed mode; specified protocol applied by default; selection in settings locked. | App switches to the new protocol; reconnects automatically if DNS protection is active. When switching the operating mode (Native ↔ VPN), the app will not reconnect automatically, the user must manually reconnect. With the DNS proxy enabled, the app reconnects automatically. | User can select manually in settings unless the choice is defined through MDM. |
| **App lock** (`lock_type`) | Choice | No | **iOS:** block. | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **App lock** (`lock_type`) | Choice | No | block | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **Install type** (`installation_type`) | Choice | No | single_touch | Defines the installation flow for the app. When set to `single_touch`, the app automatically performs device setup and connection without user interaction, skipping the onboarding flow entirely — user only needs to launch the app. | App enters managed mode; if `single_touch` is specified along with a valid `setup_id`, the app immediately enters the automated install flow; a loading screen is displayed while the app performs setup and connection; on success, EULA is automatically accepted, onboarding is marked as passed, and the user is taken to the main screen; otherwise, the app falls back the onboarding screen or to the lock screen (if `lock_type` is set). | No effect after initial installation is complete. | Standard manual onboarding flow is used. |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and connection

это справедливо только для dnsproxy в iOS и Always-on в андроиде. В остальных случаях (iOS Native, iOS VPN и не-always-on в Android) требуются действия пользователя, чтобы запустить защиту

| **DNS Protocol** (`dns_protocol`) | Choice | No | **Android:** doh, dot, doq. **iOS:** doh_native, dot_native, doh_vpn, dot_vpn, doq_vpn, doh_dnsproxy, dot_dnsproxy, doq_dnsproxy (Note: doh_dnsproxy, dot_dnsproxy and doq_dnsproxy work only in MDM with mobileconfig). | Determines which encrypted DNS protocol is used (Note: DoQ not compatible with Native mode on iOS). | App enters managed mode; specified protocol applied by default; selection in settings locked. | App switches to the new protocol; reconnects automatically if DNS protection is active. When switching the operating mode (Native ↔ VPN), the app will not reconnect automatically, the user must manually reconnect. With the DNS proxy enabled, the app reconnects automatically. | User can select manually in settings unless the choice is defined through MDM. |
| **App lock** (`lock_type`) | Choice | No | **iOS:** block. | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **App lock** (`lock_type`) | Choice | No | block | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **Install type** (`installation_type`) | Choice | No | single_touch | Defines the installation flow for the app. When set to `single_touch`, the app automatically performs device setup and connection without user interaction, skipping the onboarding flow entirely — user only needs to launch the app. | App enters managed mode; if `single_touch` is specified along with a valid `setup_id`, the app immediately enters the automated install flow; a loading screen is displayed while the app performs setup and connection; on success, EULA is automatically accepted, onboarding is marked as passed, and the user is taken to the main screen; otherwise, the app falls back the onboarding screen or to the lock screen (if `lock_type` is set). | No effect after initial installation is complete. | Standard manual onboarding flow is used. |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кроме setup_id нужен ещё device_name, заданный или на сервере или через MAC

| **App lock** (`lock_type`) | Choice | No | block | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **Install type** (`installation_type`) | Choice | No | single_touch | Defines the installation flow for the app. When set to `single_touch`, the app automatically performs device setup and connection without user interaction, skipping the onboarding flow entirely — user only needs to launch the app. | App enters managed mode; if `single_touch` is specified along with a valid `setup_id`, the app immediately enters the automated install flow; a loading screen is displayed while the app performs setup and connection; on success, EULA is automatically accepted, onboarding is marked as passed, and the user is taken to the main screen; otherwise, the app falls back the onboarding screen or to the lock screen (if `lock_type` is set). | No effect after initial installation is complete. | Standard manual onboarding flow is used. |
| **EULA accepted** (`eula_accepted`) | Boolean | No | true, false. | Automatically accepts End User License Agreement on behalf of the user, skipping EULA consent screen during the app's onboarding. | App enters managed mode; if `true`, the EULA is marked as accepted and the EULA screen is skipped during onboarding and user proceeds directly to the setup screen; this setting is applied once on each app start. | Nothing happens. | The user must accept the EULA manually during onboarding. |
| **Stats enabled** (`stats_enabled`) | Boolean | No | true, false. | Controls whether crash reporting and app usage statistics are enabled, allowing administrators to remotely manage the telemetry preference. | App enters managed mode; if specified, the crash reporting preference is set to the provided value, overwriting any previous user choice; only applied when `installation_type` is set **or** `eula_accepted` is `true`; the setting is applied once on each app start. | Enables the setting when value is changed to `false`; disables the setting when value is changed to `false`. | User's existing preference is preserved; user can change the setting manually. |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enables the setting when value is changed to false
Наверное, to true

@vyanovsky vyanovsky requested a review from aadmitrevskiy March 12, 2026 14:40
@github-actions
Copy link

Preview was deployed to: https://pull-request-405.kb-dns.pages.dev/

| **DNS Protocol** (`dns_protocol`) | Choice | No | **Android:** doh, dot, doq. **iOS:** doh_native, dot_native, doh_vpn, dot_vpn, doq_vpn, doh_dnsproxy, dot_dnsproxy, doq_dnsproxy (Note: doh_dnsproxy, dot_dnsproxy and doq_dnsproxy work only in MDM with mobileconfig). | Determines which encrypted DNS protocol is used (Note: DoQ not compatible with Native mode on iOS). | App enters managed mode; specified protocol applied by default; selection in settings locked. | App switches to the new protocol; reconnects automatically if DNS protection is active. When switching the operating mode (Native ↔ VPN), the app will not reconnect automatically, the user must manually reconnect. With the DNS proxy enabled, the app reconnects automatically. | User can select manually in settings unless the choice is defined through MDM. |
| **App lock** (`lock_type`) | Choice | No | **iOS:** block. | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **App lock** (`lock_type`) | Choice | No | block | Locks the AdGuard DNS app, which prevents device user from accessing the app. | App enters managed mode; app locks if the value is set to `block`. | Locks the app if value is changed to `block`; unlocks the app if value is changed to something else, or if the parameter is deleted. | App is not locked, user can access the app and its settings. |
| **Install type** (`installation_type`) | Choice | No | single_touch | Defines the installation flow for the app. When set to `single_touch`, the app automatically performs device setup and connection without user interaction, skipping the onboarding flow entirely — user only needs to launch the app. Works only in tandem with [**always on** configuration](#configuring-devices-to-always-use-adguard-dns). | App enters managed mode; if `single_touch` is specified along with a valid `setup_id` (in case of device setup ID) or with a valid `setup_id` and `device_name` (in case of server setup ID), the app immediately enters the automated install flow; a loading screen is displayed while the app performs setup and connection; on success, EULA is automatically accepted, onboarding is marked as passed, and the user is taken to the main screen; otherwise, the app falls back the onboarding screen or to the lock screen (if `lock_type` is set). | No effect after initial installation is complete. | Standard manual onboarding flow is used. |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works only in tandem with always on configuration

Не, это не является ограничением. У тебя в прошлой версии было описано: "скипается онбординг, включается защита". Я лишь подчеркнул, что включение защиты регулируется в другом месте

@github-actions
Copy link

Preview was deployed to: https://pull-request-405.kb-dns.pages.dev/

@vyanovsky vyanovsky requested a review from aadmitrevskiy March 12, 2026 15:24
@vyanovsky vyanovsky merged commit 6dbe239 into master Mar 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants