diff --git a/client/src/__locales/en.json b/client/src/__locales/en.json
index 1e66a0e8..33d3fa53 100644
--- a/client/src/__locales/en.json
+++ b/client/src/__locales/en.json
@@ -201,12 +201,12 @@
"install_auth_password_enter": "Enter password",
"install_step": "Step",
"install_devices_title": "Configure your devices",
- "install_devices_desc": "In order for AdGuard Home to start working, you need to configure your devices to use it.",
+ "install_devices_desc": "To start using AdGuard Home, you need to configure your devices to use it.",
"install_submit_title": "Congratulations!",
"install_submit_desc": "The setup procedure is finished and you are ready to start using AdGuard Home.",
"install_devices_router": "Router",
"install_devices_router_desc": "This setup will automatically cover all the devices connected to your home router and you will not need to configure each of them manually.",
- "install_devices_address": "AdGuard Home DNS server is listening to the following addresses",
+ "install_devices_address": "AdGuard Home DNS server is listening on the following addresses",
"install_devices_router_list_1": "Open the preferences for your router. Usually, you can access it from your browser via a URL (like http:\/\/192.168.0.1\/ or http:\/\/192.168.1.1\/). You may be asked to enter the password. If you don't remember it, you can often reset the password by pressing a button on the router itself. Some routers require a specific application, which in that case should be already installed on your computer\/phone.",
"install_devices_router_list_2": "Find the DHCP\/DNS settings. Look for the DNS letters next to a field which allows two or three sets of numbers, each broken into four groups of one to three digits.",
"install_devices_router_list_3": "Enter your AdGuard Home server addresses there.",
@@ -314,5 +314,21 @@
"access_blocked_desc": "Don't confuse this with filters. AdGuard Home will drop DNS queries with these domains in query's question.",
"access_settings_saved": "Access settings successfully saved",
"updates_checked": "Updates successfully checked",
- "check_updates_now": "Check updates now"
+ "check_updates_now": "Check for updates now",
+ "dns_privacy": "DNS Privacy",
+ "setup_dns_privacy_1": "<0>DNS-over-TLS:0> Use <1>{{address}}1> string.",
+ "setup_dns_privacy_2": "<0>DNS-over-HTTPS:0> Use <1>{{address}}1> string.",
+ "setup_dns_privacy_3": "<0>Please note that encrypted DNS protocols are supported only on Android 9. So you need to install additional software for other operating systems.0><0>Here's a list of software you can use.0>",
+ "setup_dns_privacy_android_1": "Android 9 supports DNS-over-TLS natively. To configure it, go to Settings → Network & internet → Advanced → Private DNS and enter your domain name there.",
+ "setup_dns_privacy_android_2": "<0>AdGuard for Android0> supports <1>DNS-over-HTTPS1> and <1>DNS-over-TLS1>.",
+ "setup_dns_privacy_android_3": "<0>Intra0> adds <1>DNS-over-HTTPS1> support to Android.",
+ "setup_dns_privacy_ios_1": "<0>DNSCloak0> supports <1>DNS-over-HTTPS1>, but in order to configure it to use your own server, you'll need to generate a <2>DNS Stamp2> for it.",
+ "setup_dns_privacy_ios_2": "<0>AdGuard for iOS0> supports <1>DNS-over-HTTPS1> and <1>DNS-over-TLS1> setup.",
+ "setup_dns_privacy_other_title": "Other implementations",
+ "setup_dns_privacy_other_1": "AdGuard Home itself can be a secure DNS client on any platform.",
+ "setup_dns_privacy_other_2": "<0>dnsproxy0> supports all known secure DNS protocols.",
+ "setup_dns_privacy_other_3": "<0>dnscrypt-proxy0> supports <1>DNS-over-HTTPS1>.",
+ "setup_dns_privacy_other_4": "<0>Mozilla Firefox0> supports <1>DNS-over-HTTPS1>.",
+ "setup_dns_privacy_other_5": "You will find more implementations <0>here0> and <1>here1>.",
+ "setup_dns_notice": "In order to use <1>DNS-over-HTTPS1> or <1>DNS-over-TLS1>, you need to <0>configure Encryption0> in AdGuard Home settings."
}
\ No newline at end of file
diff --git a/client/src/components/Header/Version.js b/client/src/components/Header/Version.js
index 6ac4f1ab..042b47a9 100644
--- a/client/src/components/Header/Version.js
+++ b/client/src/components/Header/Version.js
@@ -2,11 +2,9 @@ import React from 'react';
import PropTypes from 'prop-types';
import { Trans, withNamespaces } from 'react-i18next';
-import { getDnsAddress } from '../../helpers/helpers';
-
const Version = (props) => {
const {
- dnsVersion, dnsAddresses, dnsPort, processingVersion, t,
+ dnsVersion, dnsAddresses, processingVersion, t,
} = props;
return (
@@ -31,9 +29,7 @@ const Version = (props) => {
- {dnsAddresses.map(ip => (
-
{getDnsAddress(ip, dnsPort)}
- ))}
+ {dnsAddresses.map(ip =>
{ip}
)}
diff --git a/client/src/components/Settings/Encryption/Form.js b/client/src/components/Settings/Encryption/Form.js
index 0b60271a..94e9923c 100644
--- a/client/src/components/Settings/Encryption/Form.js
+++ b/client/src/components/Settings/Encryption/Form.js
@@ -6,7 +6,7 @@ import { Trans, withNamespaces } from 'react-i18next';
import flow from 'lodash/flow';
import format from 'date-fns/format';
-import { renderField, renderSelectField, toNumber, port, isSafePort } from '../../../helpers/form';
+import { renderField, renderSelectField, toNumber, port, portTLS, isSafePort } from '../../../helpers/form';
import { EMPTY_DATE } from '../../../helpers/constants';
import i18n from '../../../i18n';
@@ -167,7 +167,7 @@ let Form = (props) => {
type="number"
className="form-control"
placeholder={t('encryption_dot')}
- validate={[port]}
+ validate={[portTLS]}
normalize={toNumber}
onChange={handleChange}
disabled={!isEnabled}
diff --git a/client/src/components/SetupGuide/index.js b/client/src/components/SetupGuide/index.js
index bea2bbb1..4fb68d64 100644
--- a/client/src/components/SetupGuide/index.js
+++ b/client/src/components/SetupGuide/index.js
@@ -2,8 +2,6 @@ import React from 'react';
import PropTypes from 'prop-types';
import { Trans, withNamespaces } from 'react-i18next';
-import { getDnsAddress } from '../../helpers/helpers';
-
import Guide from '../ui/Guide';
import Card from '../ui/Card';
import PageTitle from '../ui/PageTitle';
@@ -13,7 +11,6 @@ const SetupGuide = ({
t,
dashboard: {
dnsAddresses,
- dnsPort,
},
}) => (