diff --git a/client/src/__locales/bg.json b/client/src/__locales/bg.json
index 3141507e..821309db 100644
--- a/client/src/__locales/bg.json
+++ b/client/src/__locales/bg.json
@@ -11,7 +11,6 @@
     "dhcp_found": "Вашата мрежа вече има активен DHCP сървър. Не е безопасно ползването на втори!",
     "dhcp_leases": "DHCP раздадени адреси",
     "dhcp_leases_not_found": "Няма намерени активни DHCP адреси",
-    "dhcp_config_saved": "Запиши конфигурацията на DHCP сървъра",
     "form_error_required": "Задължително поле",
     "form_error_positive": "Проверете дали е положително число",
     "dhcp_form_gateway_input": "IP шлюз",
@@ -73,7 +72,6 @@
     "no_servers_specified": "Няма избрани услуги",
     "general_settings": "Общи настройки",
     "upstream_dns": "Главен DNS сървър",
-    "upstream_dns_hint": "Ако оставите празно, AdGuard Home ще използва <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> за главен. Използвай tls:// представка за DNS използващи TLS връзка.",
     "test_upstream_btn": "Тествай главния DNS",
     "apply_btn": "Приложи",
     "disabled_filtering_toast": "Забрани филтрирането",
diff --git a/client/src/__locales/cs.json b/client/src/__locales/cs.json
index c9c6aa86..cd7f2a2b 100644
--- a/client/src/__locales/cs.json
+++ b/client/src/__locales/cs.json
@@ -45,6 +45,7 @@
     "dhcp_new_static_lease": "Nový statický pronájem",
     "dhcp_static_leases_not_found": "Nebyly nalezeny žádné statické pronájmy DHCP",
     "dhcp_add_static_lease": "Přidat statický pronájem",
+    "dhcp_reset": "Opravdu chcete resetovat konfiguraci DHCP?",
     "delete_confirm": "Opravdu chcete odstranit \"{{key}}\"?",
     "form_enter_hostname": "Zadejte název hostitele",
     "error_details": "Podrobnosti chyby",
@@ -105,8 +106,9 @@
     "encryption_settings": "Nastavení šifrování",
     "dhcp_settings": "Nastavení DHCP",
     "upstream_dns": "Upstream DNS servery",
-    "upstream_dns_hint": "Pokud toto pole ponecháte prázdné, AdGuard Home použije <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> jako upstream.",
+    "upstream_dns_hint": "Pokud toto pole ponecháte prázdné, AdGuard Home použije <a href='https://www.quad9.net/' target='_blank'>Quad9</a> jako upstream.",
     "test_upstream_btn": "Test upstreamů",
+    "upstreams": "Upstreamy",
     "apply_btn": "Použít",
     "disabled_filtering_toast": "Vypnuté filtrování",
     "enabled_filtering_toast": "Zapnuté filtrování",
@@ -299,9 +301,11 @@
     "client_edit": "Upravit klienta",
     "client_identifier": "Identifikátor",
     "ip_address": "IP adresa",
-    "client_identifier_desc": "Klienti můžou být identifikováni podle IP adresy nebo MAC adresy. Upozorňujeme, že použití MAC jako identifikátoru je možné pouze v případě, že je AdGuard Home také <0>DHCP server</0>",
+    "client_identifier_desc": "Klienti můžou být identifikováni podle IP adresy CIDR nebo MAC adresy. Upozorňujeme, že použití MAC jako identifikátoru je možné pouze v případě, že je AdGuard Home také <0>DHCP server</0>",
     "form_enter_ip": "Zadejte IP",
     "form_enter_mac": "Zadejte MAC",
+    "form_enter_id": "Zadejte identifikátor",
+    "form_add_id": "Přidat identifikátor",
     "form_client_name": "Zadejte název klienta",
     "client_global_settings": "Použít globální nastavení",
     "client_deleted": "Klient \"{{key}}\" byl úspěšně odstraněn",
@@ -402,5 +406,6 @@
     "netname": "Název sítě",
     "descr": "Popis",
     "whois": "Whois",
-    "filtering_rules_learn_more": "<0>Další informace</0> o vytváření vlastních seznamů zakázaných hostitelů."
+    "filtering_rules_learn_more": "<0>Další informace</0> o vytváření vlastních seznamů zakázaných hostitelů.",
+    "blocked_by_response": "Zakázáno s odpovědí CNAME nebo IP"
 }
\ No newline at end of file
diff --git a/client/src/__locales/da.json b/client/src/__locales/da.json
index 8f24279b..6fd10e72 100644
--- a/client/src/__locales/da.json
+++ b/client/src/__locales/da.json
@@ -17,7 +17,7 @@
     "dhcp_leases": "DHCP-leases",
     "dhcp_static_leases": "DHCP static leases",
     "dhcp_leases_not_found": "Ingen DHCP-leases fundet",
-    "dhcp_config_saved": "Gemt DHCP-server konfiguration",
+    "dhcp_config_saved": "DHCP-konfiguration gemt",
     "form_error_required": "Obligatorisk felt",
     "form_error_ip4_format": "Ugyldigt IPv4-format",
     "form_error_ip6_format": "Ugyldigt IPv6-format",
@@ -45,6 +45,7 @@
     "dhcp_new_static_lease": "Ny static lease",
     "dhcp_static_leases_not_found": "Ingen DHCP static leases fundet",
     "dhcp_add_static_lease": "Tilføj static lease",
+    "dhcp_reset": "Er du sikker på, at du vil nulstille DHCP-konfigurationen?",
     "delete_confirm": "Er du sikker på, at du vil slette \"{{key}}\"?",
     "form_enter_hostname": "Indtast værtsnavn",
     "error_details": "Fejloplysninger",
@@ -105,8 +106,9 @@
     "encryption_settings": "Krypteringsindstillinger",
     "dhcp_settings": "DHCP-indstillinger",
     "upstream_dns": "Upstream DNS-servere",
-    "upstream_dns_hint": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> til upstream.",
+    "upstream_dns_hint": "Hvis du lader dette felt være tomt, vil AdGuard Home bruge <a href='https://www.quad9.net/' target='_blank'>Quad9</a> som en upstream.",
     "test_upstream_btn": "Test upstreams",
+    "upstreams": "Upstreams",
     "apply_btn": "Anvend",
     "disabled_filtering_toast": "Filtrering deaktiveret",
     "enabled_filtering_toast": "Filtrering aktiveret",
@@ -299,9 +301,11 @@
     "client_edit": "Rediger Klient",
     "client_identifier": "Identifikator",
     "ip_address": "IP-adresse",
-    "client_identifier_desc": "Klienter kan identificeres ud fra IP-adressen eller MAC-adressen. Bemærk venligst, at det kun er muligt at bruge MAC som identifikator, hvis AdGuard Home også er en <0>DHCP-server</0>",
+    "client_identifier_desc": "Klienter kan identificeres ud fra IP-adressen, CIDR eller MAC-adressen. Bemærk venligst, at det kun er muligt at bruge MAC som identifikator, hvis AdGuard Home også er en <0>DHCP-server</0>",
     "form_enter_ip": "Indtast IP",
     "form_enter_mac": "Indtast MAC",
+    "form_enter_id": "Indtast identifikator",
+    "form_add_id": "Tilføj identifikator",
     "form_client_name": "Indtast klientnavn",
     "client_global_settings": "Brug globale indstillinger",
     "client_deleted": "Klient \"{{key}}\" succesfuldt slettet",
@@ -402,5 +406,6 @@
     "netname": "Netværksnavn",
     "descr": "Beskrivelse",
     "whois": "Whois",
-    "filtering_rules_learn_more": "<0>Lær mere</0> om at oprette dine egne værtsblokeringslister."
+    "filtering_rules_learn_more": "<0>Lær mere</0> om at oprette dine egne værtsblokeringslister.",
+    "blocked_by_response": "Blokeret af CNAME eller IP som svar"
 }
\ No newline at end of file
diff --git a/client/src/__locales/de.json b/client/src/__locales/de.json
index 1c8b2072..da8955c4 100644
--- a/client/src/__locales/de.json
+++ b/client/src/__locales/de.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP-Leasingverträge",
     "dhcp_static_leases": "DHCP statische Leases",
     "dhcp_leases_not_found": "Keine DHCP-Leasingverträge gefunden\n",
-    "dhcp_config_saved": "Gespeicherte DHCP-Server-Konfiguration",
     "form_error_required": "Pflichtfeld",
     "form_error_mac_format": "Ungültiges MAC-Format",
     "form_error_positive": "Muss größer als 0 sein.",
@@ -101,7 +100,6 @@
     "encryption_settings": "Verschlüsselungseinstellungen",
     "dhcp_settings": "DHCP-Einstellungen",
     "upstream_dns": "Upstream-DNS-Server",
-    "upstream_dns_hint": "Wenn Sie dieses Feld leer lassen wird AdGuard Home <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> als Upstream verwenden. Verwenden Sie das Präfix tls:// für DNS über TLS-Server.",
     "test_upstream_btn": "Upstreams testen",
     "apply_btn": "Anwenden",
     "disabled_filtering_toast": "Filtern deaktiviert",
@@ -295,7 +293,6 @@
     "client_edit": "Client bearbeiten",
     "client_identifier": "Bezeichner",
     "ip_address": "IP-Adresse",
-    "client_identifier_desc": "Clients können durch die IP-Adresse oder MAC-Adresse identifiziert werden. Bitte beachten Sie, dass die Verwendung der MAC-Adresse als Identifikator nur möglich ist, wenn AdGuard Home gleichzeitig auch ein <0>DHCP-Server</0> ist.",
     "form_enter_ip": "IP-Adresse eingeben",
     "form_enter_mac": "MAC-Adresse eingeben",
     "form_client_name": "Clientnamen eingeben",
diff --git a/client/src/__locales/en.json b/client/src/__locales/en.json
index bb83a92d..2ef7ea67 100644
--- a/client/src/__locales/en.json
+++ b/client/src/__locales/en.json
@@ -300,6 +300,8 @@
     "update_announcement": "AdGuard Home {{version}} is now available! <0>Click here</0> for more info.",
     "setup_guide": "Setup guide",
     "dns_addresses": "DNS addresses",
+    "dns_start": "DNS server is starting up",
+    "dns_status_error": "Error of getting DNS server status",
     "down": "Down",
     "fix": "Fix",
     "dns_providers": "Here is a <0>list of known DNS providers</0> to choose from.",
@@ -424,5 +426,6 @@
     "descr": "Description",
     "whois": "Whois",
     "filtering_rules_learn_more": "<0>Learn more</0> about creating your own hosts blocklists.",
-    "blocked_by_response": "Blocked by CNAME or IP in response"
+    "blocked_by_response": "Blocked by CNAME or IP in response",
+    "try_again": "Try again"
 }
diff --git a/client/src/__locales/es.json b/client/src/__locales/es.json
index 20f0aa5c..0e803913 100644
--- a/client/src/__locales/es.json
+++ b/client/src/__locales/es.json
@@ -17,7 +17,7 @@
     "dhcp_leases": "Asignaciones DHCP",
     "dhcp_static_leases": "Asignaciones DHCP estáticas",
     "dhcp_leases_not_found": "No se han encontrado asignaciones DHCP",
-    "dhcp_config_saved": "Configuración del servidor DHCP guardada",
+    "dhcp_config_saved": "Configuración DHCP guardado correctamente",
     "form_error_required": "Campo obligatorio",
     "form_error_ip4_format": "Formato IPv4 no válido",
     "form_error_ip6_format": "Formato IPv6 no válido",
@@ -45,6 +45,7 @@
     "dhcp_new_static_lease": "Nueva asignación estática",
     "dhcp_static_leases_not_found": "No se han encontrado asignaciones DHCP estáticas",
     "dhcp_add_static_lease": "Añadir asignación estática",
+    "dhcp_reset": "¿Está seguro de que desea restablecer la configuración DHCP?",
     "delete_confirm": "¿Está seguro de que desea eliminar \"{{key}}\"?",
     "form_enter_hostname": "Ingrese el nombre del host",
     "error_details": "Detalles del error",
@@ -105,8 +106,9 @@
     "encryption_settings": "Configuración de cifrado",
     "dhcp_settings": "Configuración DHCP",
     "upstream_dns": "Servidores DNS de subida",
-    "upstream_dns_hint": "Si mantiene este campo vacío, AdGuard Home utilizará <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> como DNS de subida.",
+    "upstream_dns_hint": "Si mantiene este campo vacío, AdGuard Home utilizará <a href='https://www.quad9.net/' target='_blank'>Quad9</a> como DNS de subida.",
     "test_upstream_btn": "Probar DNS de subida",
+    "upstreams": "DNS de subida",
     "apply_btn": "Aplicar",
     "disabled_filtering_toast": "Filtrado deshabilitado",
     "enabled_filtering_toast": "Filtrado habilitado",
@@ -299,9 +301,11 @@
     "client_edit": "Editar cliente",
     "client_identifier": "Identificador",
     "ip_address": "Dirección IP",
-    "client_identifier_desc": "Los clientes pueden ser identificados por la dirección IP o MAC. Tenga en cuenta que el uso de MAC como identificador solo es posible si AdGuard Home también es un <0>servidor DHCP</0>.",
+    "client_identifier_desc": "Los clientes pueden ser identificados por la dirección IP, MAC y CIDR. Tenga en cuenta que el uso de MAC como identificador solo es posible si AdGuard Home también es un <0>servidor DHCP</0>",
     "form_enter_ip": "Ingresar IP",
     "form_enter_mac": "Ingresar MAC",
+    "form_enter_id": "Ingrese el identificador",
+    "form_add_id": "Añadir identificador",
     "form_client_name": "Ingrese el nombre del cliente",
     "client_global_settings": "Usar configuración global",
     "client_deleted": "Cliente \"{{key}}\" eliminado correctamente",
@@ -402,5 +406,6 @@
     "netname": "Nombre de la red",
     "descr": "Descripción",
     "whois": "Whois",
-    "filtering_rules_learn_more": "<0>Más información</0> sobre cómo crear tus propias listas para bloqueo de hosts."
+    "filtering_rules_learn_more": "<0>Más información</0> sobre cómo crear tus propias listas para bloqueo de hosts.",
+    "blocked_by_response": "Bloqueado por CNAME o IP en respuesta"
 }
\ No newline at end of file
diff --git a/client/src/__locales/fr.json b/client/src/__locales/fr.json
index 6634c03a..fdd77cd4 100644
--- a/client/src/__locales/fr.json
+++ b/client/src/__locales/fr.json
@@ -16,7 +16,6 @@
     "dhcp_found": "Il y a plusieurs serveurs DHCP actifs sur le réseau. Ce n'est pas prudent d'activer le serveur DHCP intégré en ce moment.",
     "dhcp_leases": "Locations des serveurs DHCP",
     "dhcp_leases_not_found": "Aucune location des serveurs DHCP trouvée",
-    "dhcp_config_saved": "La configuration du serveur DHCP est sauvegardée",
     "form_error_required": "Champ requis",
     "form_error_positive": "Doit être supérieur à 0",
     "dhcp_form_gateway_input": "IP de la passerelle",
@@ -75,7 +74,6 @@
     "no_servers_specified": "Pas de serveurs spécifiés",
     "general_settings": "Paramètres généraux",
     "upstream_dns": "Serveurs DNS upstream",
-    "upstream_dns_hint": "Si vous laissez ce champ vide, AdGuard Home va utiliser <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> somme upstream. Utilisez le préfixe tls:// pour DNS via les serveurs TLS .",
     "test_upstream_btn": "Tester les upstreams",
     "apply_btn": "Appliquer",
     "disabled_filtering_toast": "Filtrage désactivé",
diff --git a/client/src/__locales/id.json b/client/src/__locales/id.json
index 8fe0bc11..b1535c46 100644
--- a/client/src/__locales/id.json
+++ b/client/src/__locales/id.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP leases",
     "dhcp_static_leases": "DHCP static leases",
     "dhcp_leases_not_found": "DHCP lease tidak ditemukan",
-    "dhcp_config_saved": "Pengaturan server DHCP tersimpan",
     "form_error_required": "Kolom yang harus diisi",
     "form_error_mac_format": "Format MAC tidak valid",
     "form_error_positive": "Harus lebih dari 0",
@@ -101,7 +100,6 @@
     "encryption_settings": "Pengaturan enkripsi",
     "dhcp_settings": "Pengaturan DHCP",
     "upstream_dns": "Server DNS hulu",
-    "upstream_dns_hint": "Jika Anda mengosongkan kolom ini, AdGuard Home akan menggunakan  <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> sebagai hulu. Gunakan tls:// untuk server DNS over TLS.",
     "test_upstream_btn": "Uji hulu",
     "apply_btn": "Terapkan",
     "disabled_filtering_toast": "Penyaringan nonaktif",
@@ -284,7 +282,6 @@
     "client_edit": "Ubah Klien",
     "client_identifier": "Identifikasi",
     "ip_address": "Alamat IP",
-    "client_identifier_desc": "Klien dapat diidentifikasi dengan alamat IP atau alamat MAC. Harap dicatat bahwa menggunakan MAC sebagai pengidentifikasi hanya dimungkinkan jika AdGuard Home juga merupakan <0>server DHCP</0>",
     "form_enter_ip": "Masukkan IP",
     "form_enter_mac": "Masukkan MAC",
     "form_client_name": "Masukkan nama klien",
diff --git a/client/src/__locales/it.json b/client/src/__locales/it.json
index 5c84ab40..ccc6b2f0 100644
--- a/client/src/__locales/it.json
+++ b/client/src/__locales/it.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "Leases DHCP",
     "dhcp_static_leases": "Leases DHCP statici",
     "dhcp_leases_not_found": "Nessun lease DHCP trovato",
-    "dhcp_config_saved": "Configurazione server DHCP salvata",
     "form_error_required": "Campo richiesto",
     "form_error_mac_format": "Formato MAC non valido",
     "form_error_positive": "Deve essere maggiore di 0",
@@ -101,7 +100,6 @@
     "encryption_settings": "Impostazioni di criptazione",
     "dhcp_settings": "Impostazioni DHCP",
     "upstream_dns": "Server DNS upstream",
-    "upstream_dns_hint": "Se lasci vuoto questo campo, AdGuard Home imposterà i <a href='https://1.1.1.1/' target='_blank'>DNS di Cloudflare</a> come upstream. Inserisci il prefisso tls:// per i server con DNS over TLS",
     "test_upstream_btn": "Testa gli upstream",
     "apply_btn": "Applica",
     "disabled_filtering_toast": "Disabilita filtri",
@@ -295,7 +293,6 @@
     "client_edit": "Modifica Client",
     "client_identifier": "Identificatore",
     "ip_address": "Indirizzo IP",
-    "client_identifier_desc": "I client possono essere identificati dall indirizzo IP o dall' indirizzo MAC. Nota che l' utilizzo dell' indirizzo MAC come identificatore è consentito solo se AdGuard Home è anche il <0>server DHCP</0>",
     "form_enter_ip": "Inserisci IP",
     "form_enter_mac": "Inserisci MAC",
     "form_client_name": "Inserisci nome client",
diff --git a/client/src/__locales/ja.json b/client/src/__locales/ja.json
index 5a8de130..d9313fab 100644
--- a/client/src/__locales/ja.json
+++ b/client/src/__locales/ja.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP割り当て",
     "dhcp_static_leases": "DHCP静的割り当て",
     "dhcp_leases_not_found": "DHCP割当はありません",
-    "dhcp_config_saved": "DHCPサーバの設定を保存しました",
     "form_error_required": "必須項目",
     "form_error_mac_format": "MACフォーマットではありません",
     "form_error_positive": "0より大きい必要があります",
@@ -95,7 +94,6 @@
     "encryption_settings": "暗号化設定",
     "dhcp_settings": "DHCP設定",
     "upstream_dns": "上流DNSサーバ",
-    "upstream_dns_hint": "このフィールドを未入力のままにすると、AdGuard Homeは上流として<a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a>を使用します。DNS over TLSサーバには、「tls://」プレフィックスを使用してください。",
     "test_upstream_btn": "上流サーバをテストする",
     "apply_btn": "適用する",
     "disabled_filtering_toast": "フィルタリングを無効にしました",
@@ -276,7 +274,6 @@
     "client_edit": "クライアントの編集",
     "client_identifier": "識別子",
     "ip_address": "IPアドレス",
-    "client_identifier_desc": "クライアントはIPアドレスまたはMACアドレスで識別できます。AdGuard Homeが<0>DHCPサーバ</0>でもある場合にのみ、識別子としてMACを使用することが可能であることにご注意ください。",
     "form_enter_ip": "IPアドレスを入力してください",
     "form_enter_mac": "MACアドレスを入力してください",
     "form_client_name": "クライアント名を入力してください",
diff --git a/client/src/__locales/nl.json b/client/src/__locales/nl.json
index 7a070c2a..8b7c8ca2 100644
--- a/client/src/__locales/nl.json
+++ b/client/src/__locales/nl.json
@@ -16,7 +16,6 @@
     "dhcp_found": "Actieve DHCP server(s) gevonden op het netwerk. het is NIET veilig om de ingebouwde DHCP server in te schakelen.",
     "dhcp_leases": "DHCP lease overzicht",
     "dhcp_leases_not_found": "Geen DHCP lease gevonden",
-    "dhcp_config_saved": "DHCP server configuratie opgeslagen",
     "form_error_required": "Vereist veld",
     "form_error_ip4_format": "Ongeldig IPv4 formaat",
     "form_error_ip6_format": "Ongeldig IPv6 formaat",
@@ -38,6 +37,7 @@
     "dhcp_new_static_lease": "Voeg static lease toe",
     "dhcp_static_leases_not_found": "Geen DHCP static lease gevonden",
     "dhcp_add_static_lease": "Voeg statische lease toe",
+    "dhcp_reset": "Weet je zeker dat je de DHCP configuratie wil resetten?",
     "delete_confirm": "Ben je zeker dat je \"{{key}}\" wilt verwijderen?",
     "form_enter_hostname": "Vul hostnaam in",
     "error_details": "Fout details",
@@ -94,8 +94,8 @@
     "encryption_settings": "Encryptie Instellingen",
     "dhcp_settings": "DHCP Instellingen",
     "upstream_dns": "Upstream DNS servers",
-    "upstream_dns_hint": "Indien je dit veld leeg laat, zal AdGuard Home <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> gebruiken als upstream. Gebruik tls:// voor DNS over TLS servers.",
     "test_upstream_btn": "Test upstream",
+    "upstreams": "Upstreams",
     "apply_btn": "Toepassen",
     "disabled_filtering_toast": "Filters uitgeschakeld",
     "enabled_filtering_toast": "Filters ingeschakeld",
@@ -277,9 +277,10 @@
     "client_edit": "Wijzig gebruiker",
     "client_identifier": "Identificeer via",
     "ip_address": "IP adres",
-    "client_identifier_desc": "Gebruikers kunnen worden geïdentificeerd door het IP-adres of MAC-adres. Houd er rekening mee dat het gebruik van MAC als ID alleen mogelijk is als AdGuard Home ook een <0> DHCP-server </0> is",
     "form_enter_ip": "Vul IP in",
     "form_enter_mac": "Vul MAC in",
+    "form_enter_id": "ID invoeren",
+    "form_add_id": "ID toevoegen",
     "form_client_name": "Vul gebruikersnaam in",
     "client_global_settings": "Gebruik globale instelling",
     "client_deleted": "Gebruiker \"{{key}}\" met succes verwijderd",
@@ -339,5 +340,6 @@
     "statistics_retention_desc": "Als je de interval waarde vermindert, zullen sommige gegevens verloren gaan",
     "statistics_clear": " Statistieken wissen",
     "statistics_clear_confirm": "Alle statistieken werkelijk wissen?",
-    "statistics_cleared": "Statistieken succesvol gewist"
+    "statistics_cleared": "Statistieken succesvol gewist",
+    "blocked_by_response": "Geblokkeerd door CNAME of IP als antwoord"
 }
\ No newline at end of file
diff --git a/client/src/__locales/no.json b/client/src/__locales/no.json
index 7ebd764b..9f0d9405 100644
--- a/client/src/__locales/no.json
+++ b/client/src/__locales/no.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP-leieavtaler",
     "dhcp_static_leases": "Statiske DHCP-leieavtaler",
     "dhcp_leases_not_found": "Ingen DHCP-leieavtaler ble funnet",
-    "dhcp_config_saved": "Lagret DHCP-tjeneroppsettet",
     "form_error_required": "Påkrevd felt",
     "form_error_ip4_format": "Ugyldig IPv4-format",
     "form_error_ip6_format": "Ugyldig IPv6-format",
@@ -105,7 +104,6 @@
     "encryption_settings": "Krypteringsinnstillinger",
     "dhcp_settings": "DHCP-innstillinger",
     "upstream_dns": "Oppstrøms-DNS-tjenere",
-    "upstream_dns_hint": "Hvis du lar dette feltet stå tomt, vil AdGuard Home will bruke <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> som en oppstrømstjener.",
     "test_upstream_btn": "Test oppstrømstilkoblinger",
     "apply_btn": "Benytt",
     "disabled_filtering_toast": "Skrudde av filtrering",
@@ -299,7 +297,6 @@
     "client_edit": "Rediger klienten",
     "client_identifier": "Identifikator",
     "ip_address": "IP-adresse",
-    "client_identifier_desc": "Klienter kan bli identifisert gjennom IP-adressen eller MAC-adressen. Vennligst bemerk at å bruke MAC som en identifikator, bare er mulig dersom AdGuard Home også er en <0>DHCP-tjener</0>",
     "form_enter_ip": "Skriv inn IP",
     "form_enter_mac": "Skriv inn MAC",
     "form_client_name": "Skriv inn klientnavnet",
diff --git a/client/src/__locales/pl.json b/client/src/__locales/pl.json
index 62d904e9..0f95c96f 100644
--- a/client/src/__locales/pl.json
+++ b/client/src/__locales/pl.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "Dzierżawa DHCP",
     "dhcp_static_leases": "Dzierżawy statyczne DHCP",
     "dhcp_leases_not_found": "Nie znaleziono dzierżaw DHCP",
-    "dhcp_config_saved": "Zapisana konfiguracja serwera DHCP",
     "form_error_required": "Pole wymagane",
     "form_error_mac_format": "Nieprawidłowy format MAC",
     "form_error_positive": "Musi być większa niż 0",
@@ -101,7 +100,6 @@
     "encryption_settings": "Ustawienia szyfrowania",
     "dhcp_settings": "Ustawienia DHCP",
     "upstream_dns": "Serwery DNS z wyższego poziomu",
-    "upstream_dns_hint": "Jeśli pozostawisz te pole puste, AdGuard użyje <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> jako upstream. Użyj prefiksu tls:// dla serwera DNS over TLS.",
     "test_upstream_btn": "Test upstreamów",
     "apply_btn": "Zastosuj",
     "disabled_filtering_toast": "Wyłączone filtrowanie",
@@ -284,7 +282,6 @@
     "client_edit": "Edytuj klienta",
     "client_identifier": "Identyfikator",
     "ip_address": "Adres IP",
-    "client_identifier_desc": "Klientów można zidentyfikować po adresie IP lub adresie MAC. Należy pamiętać, że używanie MAC jako identyfikatora jest możliwe tylko wtedy, gdy AdGuard Home jest również <0>serwerem DHCP</0>",
     "form_enter_ip": "Wpisz adres IP",
     "form_enter_mac": "Wpisz adres MAC",
     "form_client_name": "Wpisz nazwę klienta",
diff --git a/client/src/__locales/pt-br.json b/client/src/__locales/pt-br.json
index b5d97fcc..21fe7ac7 100644
--- a/client/src/__locales/pt-br.json
+++ b/client/src/__locales/pt-br.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "Concessões DHCP",
     "dhcp_static_leases": "Concessões de DHCP estático",
     "dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada",
-    "dhcp_config_saved": "Salvar configurações do servidor DHCP",
     "form_error_required": "Campo obrigatório",
     "form_error_ip4_format": "Formato de endereço IPv4 inválido",
     "form_error_ip6_format": "Formato de endereço IPv6 inválido",
@@ -105,7 +104,6 @@
     "encryption_settings": "Configurações de criptografia",
     "dhcp_settings": "Configurações de DHCP",
     "upstream_dns": "Servidores DNS upstream",
-    "upstream_dns_hint": "Se você deixar este campo vazio, o AdGuard Home irá usar o<a href='https://1.1.1.1/' target='_blank'>DNS da Cloudflare</a> como upstream.",
     "test_upstream_btn": "Testar upstreams",
     "apply_btn": "Aplicar",
     "disabled_filtering_toast": "Filtragem desativada",
@@ -299,7 +297,6 @@
     "client_edit": "Editar cliente",
     "client_identifier": "Identificador",
     "ip_address": "Endereço de IP",
-    "client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
     "form_enter_ip": "Digite o endereço de IP",
     "form_enter_mac": "Digite o endereço MAC",
     "form_client_name": "Digite o nome do cliente",
diff --git a/client/src/__locales/pt-pt.json b/client/src/__locales/pt-pt.json
index b2916f31..50900e44 100644
--- a/client/src/__locales/pt-pt.json
+++ b/client/src/__locales/pt-pt.json
@@ -17,7 +17,7 @@
     "dhcp_leases": "Concessões DHCP",
     "dhcp_static_leases": "Concessões de DHCP estático",
     "dhcp_leases_not_found": "Nenhuma concessão DHCP encontrada",
-    "dhcp_config_saved": "Guardar configurações do servidor DHCP",
+    "dhcp_config_saved": "Configurações DHCP guardadas com sucesso",
     "form_error_required": "Campo obrigatório",
     "form_error_ip4_format": "Formato de endereço IPv4 inválido",
     "form_error_ip6_format": "Formato de endereço IPv6 inválido",
@@ -45,6 +45,7 @@
     "dhcp_new_static_lease": "Nova concessão estática",
     "dhcp_static_leases_not_found": "Nenhuma concessão DHCP estática foi encontrada",
     "dhcp_add_static_lease": "Adicionar nova concessão estática",
+    "dhcp_reset": "Tem a certeza de que deseja redefinir a configuração DHCP?",
     "delete_confirm": "Tem a certeza de que deseja excluir \"{{key}}\"?",
     "form_enter_hostname": "Insira o hostname",
     "error_details": "Detalhes do erro",
@@ -105,8 +106,9 @@
     "encryption_settings": "Configurações de criptografia",
     "dhcp_settings": "Configurações de DHCP",
     "upstream_dns": "Servidores DNS upstream",
-    "upstream_dns_hint": "Se deixar este campo vazio, o AdGuard Home irá usar o<a href='https://1.1.1.1/' target='_blank'>DNS da Cloudflare</a> como upstream.",
+    "upstream_dns_hint": "Se deixar este campo vazio, o AdGuard Home irá usar <a href='https://www.quad9.net/' target='_blank'>Quad9</a> como upstream.",
     "test_upstream_btn": "Testar upstreams",
+    "upstreams": "Upstreams",
     "apply_btn": "Aplicar",
     "disabled_filtering_toast": "Filtragem desactivada",
     "enabled_filtering_toast": "Filtragem activada",
@@ -299,9 +301,11 @@
     "client_edit": "Editar cliente",
     "client_identifier": "Identificador",
     "ip_address": "Endereço de IP",
-    "client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
+    "client_identifier_desc": "Os clientes podem ser identificados pelo endereço de IP, CIDR, ou pelo endereço MAC. Observe que o uso do endereço MAC como identificador só é possível se o AdGuard Home também for um <0>servidor DHCP</0>",
     "form_enter_ip": "Insira IP",
     "form_enter_mac": "Insira o endereço MAC",
+    "form_enter_id": "Inserir identificador",
+    "form_add_id": "Adicionar identificador",
     "form_client_name": "Insira o nome do cliente",
     "client_global_settings": "Usar configurações globais",
     "client_deleted": "Cliente \"{{key}}\" excluído com sucesso",
@@ -402,5 +406,6 @@
     "netname": "Nome da rede",
     "descr": "Descrição",
     "whois": "Whois",
-    "filtering_rules_learn_more": "<0>Saiba mais</0>sobre como criar as suas próprias listas negras de servidores."
+    "filtering_rules_learn_more": "<0>Saiba mais</0>sobre como criar as suas próprias listas negras de servidores.",
+    "blocked_by_response": "Bloqueado por CNAME ou IP em resposta"
 }
\ No newline at end of file
diff --git a/client/src/__locales/ru.json b/client/src/__locales/ru.json
index 41067d08..b480c6ba 100644
--- a/client/src/__locales/ru.json
+++ b/client/src/__locales/ru.json
@@ -405,4 +405,4 @@
     "number_of_dns_query_days_1": "Количество DNS-запросов за {{count}} дня",
     "number_of_dns_query_days_2": "Количество DNS-запросов за {{count}} дней",
     "filtering_rules_learn_more": "<0>Узнайте больше</0> о создании собственных списков блокировки хостов."
-}
\ No newline at end of file
+}
diff --git a/client/src/__locales/sk.json b/client/src/__locales/sk.json
index 4423e669..b9aa4eee 100644
--- a/client/src/__locales/sk.json
+++ b/client/src/__locales/sk.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP prenájom",
     "dhcp_static_leases": "DHCP statické prenájmy",
     "dhcp_leases_not_found": "Neboli nájdené žiadne DHCP prenájmy",
-    "dhcp_config_saved": "Konfigurácia DHCP servera uložená",
     "form_error_required": "Povinná položka",
     "form_error_ip4_format": "Nesprávny formát IPv4",
     "form_error_ip6_format": "Nesprávny formát IPv6",
@@ -105,7 +104,6 @@
     "encryption_settings": "Nastavenia šifrovania",
     "dhcp_settings": "Nastavenia DHCP",
     "upstream_dns": "Upstream DNS servery",
-    "upstream_dns_hint": "Ak toto pole ponecháte prázdne, AdGuard Home použije <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> ako upstream.",
     "test_upstream_btn": "Test upstreamov",
     "apply_btn": "Použiť",
     "disabled_filtering_toast": "Vypnutá filtrácia",
@@ -299,7 +297,6 @@
     "client_edit": "Upraviť klienta",
     "client_identifier": "Identifikátor",
     "ip_address": "IP adresa",
-    "client_identifier_desc": "Klienti môžu byť identifikovaní podľa IP adresy alebo MAC adresy. Upozorňujeme, že používanie MAC ako identifikátora je možné len vtedy, ak je AdGuard Home tiež <0>DHCP server</0>",
     "form_enter_ip": "Zadajte IP",
     "form_enter_mac": "Zadajte MAC",
     "form_client_name": "Zadajte názov klienta",
diff --git a/client/src/__locales/sl.json b/client/src/__locales/sl.json
index f69bd688..c0576690 100644
--- a/client/src/__locales/sl.json
+++ b/client/src/__locales/sl.json
@@ -45,6 +45,7 @@
     "dhcp_new_static_lease": "Nov statični najem",
     "dhcp_static_leases_not_found": "Ni najdenih statičnih najemov DHCP",
     "dhcp_add_static_lease": "Dodaj statičen najem",
+    "dhcp_reset": "Ali ste prepričani, da želite ponastaviti konfiguracijo DHCP?",
     "delete_confirm": "Ali ste prepričani, da želite izbrisati \"{{key}}\"?",
     "form_enter_hostname": "Vnesite ime gostitelja",
     "error_details": "Podrobnosti o napaki",
@@ -105,8 +106,9 @@
     "encryption_settings": "Nastavitve šifriranja",
     "dhcp_settings": "Nastavitve DHCP",
     "upstream_dns": "Zagonski DNS strežniki",
-    "upstream_dns_hint": "Če pustite to polje prazno, bo AdGuard Home uporabil <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> kot upstream.",
+    "upstream_dns_hint": "Če pustite to polje prazno, bo AdGuard Home uporabil <a href='https://www.quad9.net/' target='_blank'>Quad9</a> kot tok navzgor.",
     "test_upstream_btn": "Preizkusi upstreame",
+    "upstreams": "Tokovi navzgor",
     "apply_btn": "Uporabi",
     "disabled_filtering_toast": "Onemogočeno filtriranje",
     "enabled_filtering_toast": "Omogočeno filtriranje",
@@ -299,9 +301,11 @@
     "client_edit": "Uredi odjemalca",
     "client_identifier": "Identifikator",
     "ip_address": "IP naslov",
-    "client_identifier_desc": "Odjemalce lahko identificirate po naslovu IP ali naslovu MAC. Upoštevajte, da je uporaba MAC kot identifikatorja mogoča le, če je AdGuard Home tudi <0>DHCP strežnik</0>",
+    "client_identifier_desc": "Odjemalce je mogoče identificirati po naslovu IP, CIDR, MAC. Upoštevajte, da je uporaba MAC kot identifikatorja mogoča le, če je AdGuard Home tudi <0>DHCP strežnik</0>",
     "form_enter_ip": "Vnesite IP",
     "form_enter_mac": "Vnesite MAC",
+    "form_enter_id": "Vnesi identifikatorja",
+    "form_add_id": "Dodaj identifikatorja",
     "form_client_name": "Vnesite ime odjemalca",
     "client_global_settings": "Uporabi splošne nastavitve",
     "client_deleted": "Odjemalec \"{{key}}\" je bil uspešno izbrisan",
@@ -402,5 +406,6 @@
     "netname": "Ime omrežja",
     "descr": "Opis",
     "whois": "Whois",
-    "filtering_rules_learn_more": "<0>Več o tem</0>, o ustvarjanju lastnih Seznamov nedovoljenih gostiteljev."
+    "filtering_rules_learn_more": "<0>Več o tem</0>, o ustvarjanju lastnih Seznamov nedovoljenih gostiteljev.",
+    "blocked_by_response": "Onemogočeno z CNAME ali IP v odgovoru"
 }
\ No newline at end of file
diff --git a/client/src/__locales/sv.json b/client/src/__locales/sv.json
index 2cd65f47..b42e61bc 100644
--- a/client/src/__locales/sv.json
+++ b/client/src/__locales/sv.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP-lease",
     "dhcp_static_leases": "Statiska DHCP-leases",
     "dhcp_leases_not_found": "Ingen DHCP-lease hittad",
-    "dhcp_config_saved": "Sparade inställningar för DHCP-servern",
     "form_error_required": "Obligatoriskt fält",
     "form_error_mac_format": "Ogiltigt MAC-format",
     "form_error_positive": "Måste vara större än noll",
@@ -99,7 +98,6 @@
     "encryption_settings": "Krypteringsinställningar",
     "dhcp_settings": "DHCP-inställningar",
     "upstream_dns": "Upstream DNS-servrar",
-    "upstream_dns_hint": "Om du låter fältet vara tomt kommer AdGuard Home att använda <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> för uppström.",
     "test_upstream_btn": "Testa uppströmmar",
     "apply_btn": "Tillämpa",
     "disabled_filtering_toast": "Filtrering bortkopplad",
@@ -293,7 +291,6 @@
     "client_edit": "Redigera klient",
     "client_identifier": "Identifikator",
     "ip_address": "IP-adress",
-    "client_identifier_desc": "Klienter kan identifieras genom IP-adresser eller MAC-adresser. Notera att användning av MAC som identifierare bara är möjligt om AdGuard Home också är en <0>DHCP-server</0>",
     "form_enter_ip": "Skriv in IP",
     "form_enter_mac": "Skriv in MAC",
     "form_client_name": "Skriv in klientnamn",
diff --git a/client/src/__locales/tr.json b/client/src/__locales/tr.json
index 9e5b2c33..a1637d34 100644
--- a/client/src/__locales/tr.json
+++ b/client/src/__locales/tr.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP kiralamaları",
     "dhcp_static_leases": "Sabit DHCP kiralamaları",
     "dhcp_leases_not_found": "DHCP kiralaması bulunamadı",
-    "dhcp_config_saved": "DHCP sunucusu ayarı kaydedildi",
     "form_error_required": "Gerekli alan",
     "form_error_mac_format": "Geçersiz MAC biçimi",
     "form_error_positive": "0'dan büyük olmalı",
@@ -101,7 +100,6 @@
     "encryption_settings": "Şifreleme ayarları",
     "dhcp_settings": "DHCP ayarları",
     "upstream_dns": "Üst DNS sunucusu",
-    "upstream_dns_hint": "Eğer bu alanı boş bırakırsanız AdGuard Home üst sunucu olarak  <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> adresini kullanacaktır.",
     "test_upstream_btn": "Üst sunucuyu test et",
     "apply_btn": "Uygula",
     "disabled_filtering_toast": "Filtreleme devre dışı",
@@ -284,7 +282,6 @@
     "client_edit": "İstemciyi düzenle",
     "client_identifier": "Tanımlayıcı",
     "ip_address": "IP adresi",
-    "client_identifier_desc": "İstemciler IP adresleri veya MAC adresleri ile tanımlanabilir. Lütfen not edin, MAC adresi ile tanımlamayı kullanmak için AdGuard Home'un <0>DHCP Sunucusu</0> olması gerekir.",
     "form_enter_ip": "IP Girin",
     "form_enter_mac": "MAC Girin",
     "form_client_name": "İstemci ismi girin",
diff --git a/client/src/__locales/vi.json b/client/src/__locales/vi.json
index 82a4e5c0..4f60c593 100644
--- a/client/src/__locales/vi.json
+++ b/client/src/__locales/vi.json
@@ -58,7 +58,6 @@
     "no_servers_specified": "Không có máy chủ nào được liệt kê",
     "general_settings": "Cài đặt chung",
     "upstream_dns": "Máy chủ DNS tìm kiếm",
-    "upstream_dns_hint": "Nếu bạn để trống mục này, AdGuard Home sẽ sử dụng <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> để tìm kiếm. Sử dụng tiền tố tls:// cho các máy chủ DNS dựa trên TLS.",
     "test_upstream_btn": "Kiểm tra",
     "apply_btn": "Áp dụng",
     "disabled_filtering_toast": "Đã tắt chặn quảng cáo",
diff --git a/client/src/__locales/zh-cn.json b/client/src/__locales/zh-cn.json
index 866d2df5..a26b551a 100644
--- a/client/src/__locales/zh-cn.json
+++ b/client/src/__locales/zh-cn.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "DHCP 租约",
     "dhcp_static_leases": "DHCP 静态租约",
     "dhcp_leases_not_found": "未检测到 DHCP 租约",
-    "dhcp_config_saved": "保存 DHCP 服务器配置",
     "form_error_required": "必填字段",
     "form_error_mac_format": "无效的 MAC 格式",
     "form_error_positive": "必须大于 0",
@@ -95,7 +94,6 @@
     "encryption_settings": "加密设置",
     "dhcp_settings": "DHCP 设置",
     "upstream_dns": "上游 DNS 服务器",
-    "upstream_dns_hint": "如果此处留空,AdGuard Home 将会使用 <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> 作为上游 DNS。如果想要使用使用 DNS over TLS,请以 tls:// 为开头。",
     "test_upstream_btn": "测试上游 DNS",
     "apply_btn": "应用",
     "disabled_filtering_toast": "过滤器已禁用",
@@ -276,7 +274,6 @@
     "client_edit": "编辑客户端",
     "client_identifier": "标识符",
     "ip_address": "IP 地址",
-    "client_identifier_desc": "客户端可通过 IP 地址或 MAC 地址识别。请注意,如 AdGuard Home 也是 <0>DHCP 服务器</0>,则仅能将 MAC 用作标识符",
     "form_enter_ip": "输入 IP",
     "form_enter_mac": "输入 MAC",
     "form_client_name": "输入客户端名称",
diff --git a/client/src/__locales/zh-tw.json b/client/src/__locales/zh-tw.json
index 03e1554d..7a87712d 100644
--- a/client/src/__locales/zh-tw.json
+++ b/client/src/__locales/zh-tw.json
@@ -17,7 +17,6 @@
     "dhcp_leases": "動態主機設定協定(DHCP)租賃",
     "dhcp_static_leases": "動態主機設定協定(DHCP)靜態租賃",
     "dhcp_leases_not_found": "無已發現之動態主機設定協定(DHCP)租賃",
-    "dhcp_config_saved": "已儲存動態主機設定協定(DHCP)伺服器配置",
     "form_error_required": "必填的欄位",
     "form_error_ip4_format": "無效的 IPv4 格式",
     "form_error_ip6_format": "無效的 IPv6 格式",
@@ -45,6 +44,7 @@
     "dhcp_new_static_lease": "新的靜態租賃",
     "dhcp_static_leases_not_found": "無已發現之動態主機設定協定(DHCP)靜態租賃",
     "dhcp_add_static_lease": "增加靜態租賃",
+    "dhcp_reset": "您確定您想要重置動態主機設定協定(DHCP)配置嗎?",
     "delete_confirm": "您確定您想要刪除 \"{{key}}\" 嗎?",
     "form_enter_hostname": "輸入主機名稱",
     "error_details": "錯誤細節",
@@ -105,7 +105,6 @@
     "encryption_settings": "加密設定",
     "dhcp_settings": "動態主機設定協定(DHCP)設定",
     "upstream_dns": "上游的 DNS 伺服器",
-    "upstream_dns_hint": "如果您將該欄位留空,AdGuard Home 將使用 <a href='https://1.1.1.1/' target='_blank'>Cloudflare DNS</a> 作為上游。",
     "test_upstream_btn": "測試上行資料流",
     "apply_btn": "套用",
     "disabled_filtering_toast": "已禁用過濾",
@@ -299,7 +298,6 @@
     "client_edit": "編輯用戶端",
     "client_identifier": "識別碼",
     "ip_address": "IP 位址",
-    "client_identifier_desc": "用戶端可被 IP 位址或媒體存取控制(MAC)位址識別。請注意,僅若 AdGuard Home 也是<0>動態主機設定協定(DHCP)伺服器</0>,使用 MAC 作為識別碼是可能的",
     "form_enter_ip": "輸入 IP",
     "form_enter_mac": "輸入媒體存取控制(MAC)",
     "form_client_name": "輸入用戶端名稱",
diff --git a/client/src/actions/index.js b/client/src/actions/index.js
index 4583c1ae..0cb022d4 100644
--- a/client/src/actions/index.js
+++ b/client/src/actions/index.js
@@ -132,55 +132,65 @@ export const getUpdateRequest = createAction('GET_UPDATE_REQUEST');
 export const getUpdateFailure = createAction('GET_UPDATE_FAILURE');
 export const getUpdateSuccess = createAction('GET_UPDATE_SUCCESS');
 
+const checkStatus = async (handleRequestSuccess, handleRequestError, attempts = 60) => {
+    let timeout;
+
+    if (attempts === 0) {
+        handleRequestError();
+    }
+
+    const rmTimeout = t => t && clearTimeout(t);
+
+    try {
+        const response = await axios.get('control/status');
+        rmTimeout(timeout);
+        if (response && response.status === 200) {
+            handleRequestSuccess(response);
+            if (response.data.running === false) {
+                timeout = setTimeout(
+                    checkStatus,
+                    CHECK_TIMEOUT,
+                    handleRequestSuccess,
+                    handleRequestError,
+                    attempts - 1,
+                );
+            }
+        }
+    } catch (error) {
+        rmTimeout(timeout);
+        timeout = setTimeout(
+            checkStatus,
+            CHECK_TIMEOUT,
+            handleRequestSuccess,
+            handleRequestError,
+            attempts - 1,
+        );
+    }
+};
+
 export const getUpdate = () => async (dispatch, getState) => {
     const { dnsVersion } = getState().dashboard;
 
     dispatch(getUpdateRequest());
-    try {
-        await apiClient.getUpdate();
-
-        const checkUpdate = async (attempts) => {
-            let count = attempts || 1;
-            let timeout;
-
-            if (count > 60) {
-                dispatch(addNoticeToast({ error: 'update_failed' }));
-                dispatch(getUpdateFailure());
-                return false;
-            }
-
-            const rmTimeout = t => t && clearTimeout(t);
-            const setRecursiveTimeout = (time, ...args) => setTimeout(
-                checkUpdate,
-                time,
-                ...args,
-            );
-
-            axios.get('control/status')
-                .then((response) => {
-                    rmTimeout(timeout);
-                    if (response && response.status === 200) {
-                        const responseVersion = response.data && response.data.version;
-
-                        if (dnsVersion !== responseVersion) {
-                            dispatch(getUpdateSuccess());
-                            window.location.reload(true);
-                        }
-                    }
-                    timeout = setRecursiveTimeout(CHECK_TIMEOUT, count += 1);
-                })
-                .catch(() => {
-                    rmTimeout(timeout);
-                    timeout = setRecursiveTimeout(CHECK_TIMEOUT, count += 1);
-                });
-
-            return false;
-        };
-
-        checkUpdate();
-    } catch (error) {
+    const handleRequestError = () => {
         dispatch(addNoticeToast({ error: 'update_failed' }));
         dispatch(getUpdateFailure());
+    };
+
+    const handleRequestSuccess = (response) => {
+        const responseVersion = response.data && response.data.version;
+
+        if (dnsVersion !== responseVersion) {
+            dispatch(getUpdateSuccess());
+            window.location.reload(true);
+        }
+    };
+
+    try {
+        await apiClient.getUpdate();
+        checkStatus(handleRequestSuccess, handleRequestError);
+    } catch (error) {
+        handleRequestError();
     }
 };
 
@@ -226,15 +236,28 @@ export const dnsStatusSuccess = createAction('DNS_STATUS_SUCCESS');
 
 export const getDnsStatus = () => async (dispatch) => {
     dispatch(dnsStatusRequest());
-    try {
-        const dnsStatus = await apiClient.getGlobalStatus();
-        dispatch(dnsStatusSuccess(dnsStatus));
-        dispatch(getVersion());
-        dispatch(getTlsStatus());
-        dispatch(getProfile());
-    } catch (error) {
-        dispatch(addErrorToast({ error }));
+
+    const handleRequestError = () => {
+        dispatch(addErrorToast({ error: 'dns_status_error' }));
         dispatch(dnsStatusFailure());
+        window.location.reload(true);
+    };
+
+    const handleRequestSuccess = (response) => {
+        const dnsStatus = response.data;
+        const runningStatus = dnsStatus && dnsStatus.running;
+        if (runningStatus === true) {
+            dispatch(dnsStatusSuccess(dnsStatus));
+            dispatch(getVersion());
+            dispatch(getTlsStatus());
+            dispatch(getProfile());
+        }
+    };
+
+    try {
+        checkStatus(handleRequestSuccess, handleRequestError);
+    } catch (error) {
+        handleRequestError(error);
     }
 };
 
@@ -253,36 +276,6 @@ export const getDnsSettings = () => async (dispatch) => {
     }
 };
 
-export const enableDnsRequest = createAction('ENABLE_DNS_REQUEST');
-export const enableDnsFailure = createAction('ENABLE_DNS_FAILURE');
-export const enableDnsSuccess = createAction('ENABLE_DNS_SUCCESS');
-
-export const enableDns = () => async (dispatch) => {
-    dispatch(enableDnsRequest());
-    try {
-        await apiClient.startGlobalFiltering();
-        dispatch(enableDnsSuccess());
-    } catch (error) {
-        dispatch(addErrorToast({ error }));
-        dispatch(enableDnsFailure());
-    }
-};
-
-export const disableDnsRequest = createAction('DISABLE_DNS_REQUEST');
-export const disableDnsFailure = createAction('DISABLE_DNS_FAILURE');
-export const disableDnsSuccess = createAction('DISABLE_DNS_SUCCESS');
-
-export const disableDns = () => async (dispatch) => {
-    dispatch(disableDnsRequest());
-    try {
-        await apiClient.stopGlobalFiltering();
-        dispatch(disableDnsSuccess());
-    } catch (error) {
-        dispatch(disableDnsFailure(error));
-        dispatch(addErrorToast({ error }));
-    }
-};
-
 export const handleUpstreamChange = createAction('HANDLE_UPSTREAM_CHANGE');
 export const setUpstreamRequest = createAction('SET_UPSTREAM_REQUEST');
 export const setUpstreamFailure = createAction('SET_UPSTREAM_FAILURE');
diff --git a/client/src/api/Api.js b/client/src/api/Api.js
index 77dda64b..d8fed5ce 100644
--- a/client/src/api/Api.js
+++ b/client/src/api/Api.js
@@ -24,24 +24,12 @@ class Api {
     }
 
     // Global methods
-    GLOBAL_START = { path: 'start', method: 'POST' };
     GLOBAL_STATUS = { path: 'status', method: 'GET' };
-    GLOBAL_STOP = { path: 'stop', method: 'POST' };
     GLOBAL_SET_UPSTREAM_DNS = { path: 'set_upstreams_config', method: 'POST' };
     GLOBAL_TEST_UPSTREAM_DNS = { path: 'test_upstream_dns', method: 'POST' };
     GLOBAL_VERSION = { path: 'version.json', method: 'POST' };
     GLOBAL_UPDATE = { path: 'update', method: 'POST' };
 
-    startGlobalFiltering() {
-        const { path, method } = this.GLOBAL_START;
-        return this.makeRequest(path, method);
-    }
-
-    stopGlobalFiltering() {
-        const { path, method } = this.GLOBAL_STOP;
-        return this.makeRequest(path, method);
-    }
-
     getGlobalStatus() {
         const { path, method } = this.GLOBAL_STATUS;
         return this.makeRequest(path, method);
diff --git a/client/src/components/App/index.js b/client/src/components/App/index.js
index 3fd4d1a5..843047c3 100644
--- a/client/src/components/App/index.js
+++ b/client/src/components/App/index.js
@@ -29,6 +29,7 @@ import UpdateOverlay from '../ui/UpdateOverlay';
 import EncryptionTopline from '../ui/EncryptionTopline';
 import Icons from '../ui/Icons';
 import i18n from '../../i18n';
+import Loading from '../ui/Loading';
 
 class App extends Component {
     componentDidMount() {
@@ -41,8 +42,8 @@ class App extends Component {
         }
     }
 
-    handleStatusChange = () => {
-        this.props.enableDns();
+    reloadPage = () => {
+        window.location.reload();
     };
 
     handleUpdate = () => {
@@ -88,10 +89,13 @@ class App extends Component {
                     <LoadingBar className="loading-bar" updateTime={1000} />
                     <Route component={Header} />
                     <div className="container container--wrap">
-                        {!dashboard.processing && !dashboard.isCoreRunning && (
+                        {dashboard.processing && !dashboard.isCoreRunning && (
                             <div className="row row-cards">
                                 <div className="col-lg-12">
-                                    <Status handleStatusChange={this.handleStatusChange} />
+                                    <Status reloadPage={this.reloadPage}
+                                            message="dns_start"
+                                    />
+                                    <Loading />
                                 </div>
                             </div>
                         )}
diff --git a/client/src/components/Dashboard/index.js b/client/src/components/Dashboard/index.js
index b4889db6..2f871720 100644
--- a/client/src/components/Dashboard/index.js
+++ b/client/src/components/Dashboard/index.js
@@ -41,10 +41,7 @@ class Dashboard extends Component {
 
     render() {
         const { dashboard, stats, t } = this.props;
-        const dashboardProcessing =
-            dashboard.processing ||
-            stats.processingStats ||
-            stats.processingGetConfig;
+        const statsProcessing = stats.processingStats || stats.processingGetConfig;
 
         const subtitle =
             stats.interval === 1
@@ -81,8 +78,8 @@ class Dashboard extends Component {
                         {refreshFullButton}
                     </div>
                 </PageTitle>
-                {dashboardProcessing && <Loading />}
-                {!dashboardProcessing && (
+                {statsProcessing && <Loading />}
+                {!statsProcessing && (
                     <div className="row row-cards">
                         <div className="col-lg-12">
                             <Statistics
diff --git a/client/src/components/ui/Status.js b/client/src/components/ui/Status.js
index bc103a61..2eb785e0 100644
--- a/client/src/components/ui/Status.js
+++ b/client/src/components/ui/Status.js
@@ -1,23 +1,27 @@
 import React from 'react';
 import PropTypes from 'prop-types';
+import { withNamespaces, Trans } from 'react-i18next';
 
 import Card from '../ui/Card';
 
-const Status = props => (
+const Status = ({ message, buttonMessage, reloadPage }) => (
     <div className="status">
         <Card bodyType="card-body card-body--status">
             <div className="h4 font-weight-light mb-4">
-                You are currently not using AdGuard Home
+                <Trans>{message}</Trans>
             </div>
-            <button className="btn btn-success" onClick={props.handleStatusChange}>
-                Enable AdGuard Home
-            </button>
+            {buttonMessage &&
+            <button className="btn btn-success" onClick={reloadPage}>
+                <Trans>{buttonMessage}</Trans>
+            </button>}
         </Card>
     </div>
 );
 
 Status.propTypes = {
-    handleStatusChange: PropTypes.func.isRequired,
+    message: PropTypes.string.isRequired,
+    buttonMessage: PropTypes.string,
+    reloadPage: PropTypes.func,
 };
 
-export default Status;
+export default withNamespaces()(Status);
diff --git a/client/src/reducers/index.js b/client/src/reducers/index.js
index 0e2b69bb..550c080b 100644
--- a/client/src/reducers/index.js
+++ b/client/src/reducers/index.js
@@ -90,20 +90,6 @@ const dashboard = handleActions(
             return newState;
         },
 
-        [actions.enableDnsRequest]: state => ({ ...state, processing: true }),
-        [actions.enableDnsFailure]: state => ({ ...state, processing: false }),
-        [actions.enableDnsSuccess]: (state) => {
-            const newState = { ...state, isCoreRunning: !state.isCoreRunning, processing: false };
-            return newState;
-        },
-
-        [actions.disableDnsRequest]: state => ({ ...state, processing: true }),
-        [actions.disableDnsFailure]: state => ({ ...state, processing: false }),
-        [actions.disableDnsSuccess]: (state) => {
-            const newState = { ...state, isCoreRunning: !state.isCoreRunning, processing: false };
-            return newState;
-        },
-
         [actions.getVersionRequest]: state => ({ ...state, processingVersion: true }),
         [actions.getVersionFailure]: state => ({ ...state, processingVersion: false }),
         [actions.getVersionSuccess]: (state, { payload }) => {