From c1b537c14b6f954c530a8b99178a14bbc34c8fe4 Mon Sep 17 00:00:00 2001
From: Ainar Garipov <a.garipov@adguard.com>
Date: Thu, 15 Dec 2022 15:31:42 +0300
Subject: [PATCH 1/4] Pull request: upd-all

Merge in DNS/adguard-home from upd-all to master

Squashed commit of the following:

commit 4031b9ca886c41f07ac949dfae8dd00d0969138f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Dec 15 15:19:01 2022 +0300

    all: upd blocked svcs, i18n, vetted flts
---
 client/src/__locales/be.json          |  3 ---
 client/src/__locales/cs.json          |  3 ---
 client/src/__locales/da.json          |  5 +----
 client/src/__locales/de.json          |  3 ---
 client/src/__locales/es.json          |  3 ---
 client/src/__locales/fi.json          |  3 ---
 client/src/__locales/fr.json          |  5 +----
 client/src/__locales/hr.json          |  5 +----
 client/src/__locales/hu.json          |  3 ---
 client/src/__locales/id.json          |  3 ---
 client/src/__locales/it.json          |  3 ---
 client/src/__locales/ja.json          |  3 ---
 client/src/__locales/ko.json          |  5 +----
 client/src/__locales/nl.json          |  5 +----
 client/src/__locales/pl.json          |  3 ---
 client/src/__locales/pt-br.json       |  3 ---
 client/src/__locales/pt-pt.json       |  3 ---
 client/src/__locales/ro.json          |  3 ---
 client/src/__locales/ru.json          |  3 ---
 client/src/__locales/sk.json          |  3 ---
 client/src/__locales/sl.json          |  3 ---
 client/src/__locales/sr-cs.json       |  3 ---
 client/src/__locales/sv.json          |  3 ---
 client/src/__locales/tr.json          |  5 +----
 client/src/__locales/uk.json          |  3 ---
 client/src/__locales/vi.json          |  3 ---
 client/src/__locales/zh-cn.json       |  3 ---
 client/src/__locales/zh-tw.json       |  3 ---
 client/src/helpers/filters/filters.js | 30 +++++++++++++++++++++++++++
 internal/filtering/servicelist.go     | 13 ++++++------
 30 files changed, 43 insertions(+), 96 deletions(-)

diff --git a/client/src/__locales/be.json b/client/src/__locales/be.json
index ca92d807..c0260e88 100644
--- a/client/src/__locales/be.json
+++ b/client/src/__locales/be.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Налады DHCP IPv6",
     "form_error_required": "Абавязковае поле",
     "form_error_ip4_format": "Няслушны IPv4-адрас",
-    "form_error_ip4_range_start_format": "Няслушны IPv4-адрас пачатку дыяпазону",
-    "form_error_ip4_range_end_format": "Няслушны IPv4-адрас канца дыяпазону",
     "form_error_ip4_gateway_format": "Няслушны IPv4-адрас шлюза",
     "form_error_ip6_format": "Няслушны IPv6-адрас",
     "form_error_ip_format": "Няслушны IP-адрас",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Павінна быць па-за дыяпазонам «{{start}}»-«{{end}}»",
     "lower_range_start_error": "Павінна быць менш за пачатак дыяпазону",
     "greater_range_start_error": "Павінна быць больш за пачатак дыяпазону",
-    "greater_range_end_error": "Павінна быць больш за канец дыяпазону",
     "subnet_error": "Адрасы павінны быць усярэдзіне адной падсеткі",
     "gateway_or_subnet_invalid": "Некарэктная маска падсеткі",
     "dhcp_form_gateway_input": "IP-адрас шлюза",
diff --git a/client/src/__locales/cs.json b/client/src/__locales/cs.json
index ccb3033b..9f57a3fe 100644
--- a/client/src/__locales/cs.json
+++ b/client/src/__locales/cs.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Nastavení DHCP IPv6",
     "form_error_required": "Povinné pole",
     "form_error_ip4_format": "Neplatná adresa IPv4",
-    "form_error_ip4_range_start_format": "Neplatná adresa IPv4 na začátku rozsahu",
-    "form_error_ip4_range_end_format": "Neplatná adresa IPv4 na konci rozsahu",
     "form_error_ip4_gateway_format": "Neplatná adresa IPv4 brány",
     "form_error_ip6_format": "Neplatná adresa IPv6",
     "form_error_ip_format": "Neplatná IP adresa",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Musí být mimo rozsah \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Musí být menší než začátek rozsahu",
     "greater_range_start_error": "Musí být větší než začátek rozsahu",
-    "greater_range_end_error": "Musí být větší než konec rozsahu",
     "subnet_error": "Adresy musí být v jedné podsíti",
     "gateway_or_subnet_invalid": "Neplatná maska podsítě",
     "dhcp_form_gateway_input": "IP brána",
diff --git a/client/src/__locales/da.json b/client/src/__locales/da.json
index ae074b89..e802447d 100644
--- a/client/src/__locales/da.json
+++ b/client/src/__locales/da.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6-indstillinger",
     "form_error_required": "Obligatorisk felt",
     "form_error_ip4_format": "Ugyldig IPv4-adresse",
-    "form_error_ip4_range_start_format": "Ugyldig IPv4-startadresse for området",
-    "form_error_ip4_range_end_format": "Ugyldig IPv4-slutadresse for området",
     "form_error_ip4_gateway_format": "Ugyldig IPv4 gateway-adresse",
     "form_error_ip6_format": "Ugyldig IPv6-adresse",
     "form_error_ip_format": "Ugyldig IP-adresse",
@@ -51,9 +49,8 @@
     "out_of_range_error": "Skal være uden for området \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Skal være mindre end starten på området",
     "greater_range_start_error": "Skal være større end starten på ​​området",
-    "greater_range_end_error": "Skal være større end områdeslutning",
     "subnet_error": "Adresser ska være i ét undernet",
-    "gateway_or_subnet_invalid": "Undernetmaske ugyldig",
+    "gateway_or_subnet_invalid": "Ugyldig undernetmaske",
     "dhcp_form_gateway_input": "Gateway IP",
     "dhcp_form_subnet_input": "Undernetmaske",
     "dhcp_form_range_title": "Interval af IP-adresser",
diff --git a/client/src/__locales/de.json b/client/src/__locales/de.json
index 34cdfb09..052812e2 100644
--- a/client/src/__locales/de.json
+++ b/client/src/__locales/de.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP-IPv6-Einstellungen",
     "form_error_required": "Pflichtfeld",
     "form_error_ip4_format": "Ungültige IPv4-Adresse",
-    "form_error_ip4_range_start_format": "Ungültiger Bereichsbeginn der IPv4-Adresse",
-    "form_error_ip4_range_end_format": "Ungültiges Bereichsende der IPv4-Adresse",
     "form_error_ip4_gateway_format": "Ungültige IPv4-Adresse des Gateways",
     "form_error_ip6_format": "Ungültige IPv6-Adresse",
     "form_error_ip_format": "Ungültige IP-Adresse",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Muss außerhalb des Bereichs „{{start}}“-„{{end}}“ liegen",
     "lower_range_start_error": "Muss niedriger als der Bereichsbeginn sein",
     "greater_range_start_error": "Muss größer als der Bereichsbeginn sein",
-    "greater_range_end_error": "Muss größer als das Bereichsende sein",
     "subnet_error": "Die Adressen müssen innerhalb eines Subnetzes liegen",
     "gateway_or_subnet_invalid": "Ungültige Subnetzmaske",
     "dhcp_form_gateway_input": "Gateway-IP",
diff --git a/client/src/__locales/es.json b/client/src/__locales/es.json
index 5e3aedd3..9e22df6f 100644
--- a/client/src/__locales/es.json
+++ b/client/src/__locales/es.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Configuración DHCP IPv6",
     "form_error_required": "Campo obligatorio",
     "form_error_ip4_format": "Dirección IPv4 no válida",
-    "form_error_ip4_range_start_format": "Dirección IPv4 no válida del inicio de rango",
-    "form_error_ip4_range_end_format": "Dirección IPv4 no válida del final de rango",
     "form_error_ip4_gateway_format": "Dirección IPv4 no válida de la puerta de enlace",
     "form_error_ip6_format": "Dirección IPv6 no válida",
     "form_error_ip_format": "Dirección IP no válida",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Debe estar fuera del rango \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Debe ser inferior que el inicio de rango",
     "greater_range_start_error": "Debe ser mayor que el inicio de rango",
-    "greater_range_end_error": "Debe ser mayor que el final de rango",
     "subnet_error": "Las direcciones deben estar en una subred",
     "gateway_or_subnet_invalid": "Máscara de subred no válida",
     "dhcp_form_gateway_input": "IP de puerta de enlace",
diff --git a/client/src/__locales/fi.json b/client/src/__locales/fi.json
index f0d4e8cf..99df2a56 100644
--- a/client/src/__locales/fi.json
+++ b/client/src/__locales/fi.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP:n IPv6-asetukset",
     "form_error_required": "Pakollinen kenttä",
     "form_error_ip4_format": "Virheellinen IPv4-osoite",
-    "form_error_ip4_range_start_format": "Virheellinen IPv4-osoitealueen aloitusosoite",
-    "form_error_ip4_range_end_format": "Virheellinen IPv4-osoitealueen päätösosoite",
     "form_error_ip4_gateway_format": "Virheellinen yhdyskäytävän IPv4-osoite",
     "form_error_ip6_format": "Virheellinen IPv6-osoite",
     "form_error_ip_format": "Virheellinen IP-osoite",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Oltava alueen \"{{start}}\" - \"{{end}}\" ulkopuolella",
     "lower_range_start_error": "Oltava alueen aloitusarvoa pienempi",
     "greater_range_start_error": "Oltava alueen aloitusarvoa suurempi",
-    "greater_range_end_error": "Oltava alueen päätösarvoa pienempi",
     "subnet_error": "Osoitteiden tulee olla yhdessä aliverkossa",
     "gateway_or_subnet_invalid": "Virheellinen aliverkon peite",
     "dhcp_form_gateway_input": "Yhdyskäytävän IP-osoite",
diff --git a/client/src/__locales/fr.json b/client/src/__locales/fr.json
index ff4aed42..240ba4f0 100644
--- a/client/src/__locales/fr.json
+++ b/client/src/__locales/fr.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Paramètres IPv6 du DHCP",
     "form_error_required": "Champ requis",
     "form_error_ip4_format": "Adresse IPv4 invalide",
-    "form_error_ip4_range_start_format": "Adresse de début de plage IPv4 incorrecte",
-    "form_error_ip4_range_end_format": "Adresse de fin de plage IPv4 incorrecte",
     "form_error_ip4_gateway_format": "Adresse de passerelle IPv4 invalide",
     "form_error_ip6_format": "Adresse IPv6 invalide",
     "form_error_ip_format": "Adresse IP invalide",
@@ -51,9 +49,8 @@
     "out_of_range_error": "Doit être hors plage « {{start}} » - « {{end}} »",
     "lower_range_start_error": "Doit être inférieur au début de plage",
     "greater_range_start_error": "Doit être supérieur au début de plage",
-    "greater_range_end_error": "Doit être supérieur à la fin de plage",
     "subnet_error": "Les adresses doivent être dans le même sous-réseau",
-    "gateway_or_subnet_invalid": "Masque de sous-réseau invalide",
+    "gateway_or_subnet_invalid": "Masque de sous-réseau invalide.",
     "dhcp_form_gateway_input": "IP de la passerelle",
     "dhcp_form_subnet_input": "Masque de sous-réseau",
     "dhcp_form_range_title": "Rangée des adresses IP",
diff --git a/client/src/__locales/hr.json b/client/src/__locales/hr.json
index b9477551..7bb5f2cf 100644
--- a/client/src/__locales/hr.json
+++ b/client/src/__locales/hr.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 postavke",
     "form_error_required": "Obavezno polje",
     "form_error_ip4_format": "Nevažeća IPv4 adresa",
-    "form_error_ip4_range_start_format": "Nepravilan početak ranga IPv4 adresa",
-    "form_error_ip4_range_end_format": "Nepravilan kraj ranga IPv4 adresa",
     "form_error_ip4_gateway_format": "Nepravilna IPV4 adresa čvora",
     "form_error_ip6_format": "Nevažeći IPv6 adresa",
     "form_error_ip_format": "Nepravilna IP adresa",
@@ -51,9 +49,8 @@
     "out_of_range_error": "Mora biti izvan ranga \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Mora biti niže od početnog ranga",
     "greater_range_start_error": "Mora biti veće od krajnjeg ranga",
-    "greater_range_end_error": "Mora biti veće od krajnjeg ranga",
     "subnet_error": "Adrese moraju biti iz iste podmreže",
-    "gateway_or_subnet_invalid": "Maska podmreže je neprvilna",
+    "gateway_or_subnet_invalid": "Nevažeća podmrežna maska",
     "dhcp_form_gateway_input": "Gateway IP",
     "dhcp_form_subnet_input": "Subnet maskiranje",
     "dhcp_form_range_title": "Raspon IP adresa",
diff --git a/client/src/__locales/hu.json b/client/src/__locales/hu.json
index 534fd69e..85ac4276 100644
--- a/client/src/__locales/hu.json
+++ b/client/src/__locales/hu.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 Beállítások",
     "form_error_required": "Kötelező mező",
     "form_error_ip4_format": "Érvénytelen IPv4 cím",
-    "form_error_ip4_range_start_format": "Érvénytelen IPv4-cím a tartomány kezdetéhez",
-    "form_error_ip4_range_end_format": "Érvénytelen IPv4-cím a tartomány végén",
     "form_error_ip4_gateway_format": "Az átjáróhoz (gateway) érvénytelen IPv4 cím lett megadva",
     "form_error_ip6_format": "Érvénytelen IPv6 cím",
     "form_error_ip_format": "Érvénytelen IP-cím",
@@ -51,7 +49,6 @@
     "out_of_range_error": "A következő tartományon kívül legyen: \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Kisebb legyen, mint a tartomány kezdete",
     "greater_range_start_error": "Nagyobbnak kell lennie, mint a tartomány kezdete",
-    "greater_range_end_error": "Nagyobb legyen, mint a tartomány vége",
     "subnet_error": "A címeknek egy alhálózatban kell lenniük",
     "gateway_or_subnet_invalid": "Az alhálózati maszk érvénytelen",
     "dhcp_form_gateway_input": "Átjáró IP",
diff --git a/client/src/__locales/id.json b/client/src/__locales/id.json
index 97530100..b6eafcbb 100644
--- a/client/src/__locales/id.json
+++ b/client/src/__locales/id.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Pengaturan DHCP IPv6",
     "form_error_required": "Kolom yang harus diisi",
     "form_error_ip4_format": "Alamat IPv4 tidak valid",
-    "form_error_ip4_range_start_format": "Alamat IPv4 tidak valid dari rentang awal",
-    "form_error_ip4_range_end_format": "Alamat IPv4 tidak valid dari rentang akhir",
     "form_error_ip4_gateway_format": "Alamat IPv4 gateway tidak valid",
     "form_error_ip6_format": "Alamat IPv6 tidak valid",
     "form_error_ip_format": "Alamat IP tidak valid",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Harus di luar rentang \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Harus lebih rendah dari rentang awal",
     "greater_range_start_error": "Harus lebih besar dari rentang awal",
-    "greater_range_end_error": "Harus lebih besar dari rentang akhir",
     "subnet_error": "Alamat harus dalam satu subnet",
     "gateway_or_subnet_invalid": "Subnet mask tidak valid",
     "dhcp_form_gateway_input": "IP gateway",
diff --git a/client/src/__locales/it.json b/client/src/__locales/it.json
index 128fe91b..5aad22f9 100644
--- a/client/src/__locales/it.json
+++ b/client/src/__locales/it.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Impostazioni DHCP IPv6",
     "form_error_required": "Campo richiesto",
     "form_error_ip4_format": "Indirizzo IPv4 non valido",
-    "form_error_ip4_range_start_format": "Indirizzo IPV4 non valido dell'intervallo iniziale",
-    "form_error_ip4_range_end_format": "Indirizzo IPV4 non valido dell'intervallo finale",
     "form_error_ip4_gateway_format": "Indirizzo gateway IPv4 non valido",
     "form_error_ip6_format": "Indirizzo IPv6 non valido",
     "form_error_ip_format": "Indirizzo IP non valido",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Deve essere fuori intervallo \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Deve essere inferiore dell'intervallo di inizio",
     "greater_range_start_error": "Deve essere maggiore dell'intervallo di inizio",
-    "greater_range_end_error": "Deve essere maggiore dell'intervallo di fine",
     "subnet_error": "Gli indirizzi devono trovarsi in una sottorete",
     "gateway_or_subnet_invalid": "Maschera di sottorete non valida",
     "dhcp_form_gateway_input": "IP Gateway",
diff --git a/client/src/__locales/ja.json b/client/src/__locales/ja.json
index 2215358d..860a597d 100644
--- a/client/src/__locales/ja.json
+++ b/client/src/__locales/ja.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 設定",
     "form_error_required": "必須項目です",
     "form_error_ip4_format": "IPv4アドレスが無効です",
-    "form_error_ip4_range_start_format": "範囲開始のIPv4アドレスが無効です",
-    "form_error_ip4_range_end_format": "範囲終了のIPv4アドレスが無効です",
     "form_error_ip4_gateway_format": "ゲートウェイのIPv4アドレスが無効です",
     "form_error_ip6_format": "IPv6アドレスが無効です",
     "form_error_ip_format": "IPアドレスが無効です",
@@ -51,7 +49,6 @@
     "out_of_range_error": "\"{{start}}\"〜\"{{end}}\" の範囲外である必要があります",
     "lower_range_start_error": "範囲開始よりも低い値である必要があります",
     "greater_range_start_error": "範囲開始値より大きい値でなければなりません",
-    "greater_range_end_error": "範囲終了値より大きい値でなければなりません",
     "subnet_error": "両アドレスが同じサブネット内にある必要があります",
     "gateway_or_subnet_invalid": "サブネットマスクが無効です",
     "dhcp_form_gateway_input": "ゲートウェイIP",
diff --git a/client/src/__locales/ko.json b/client/src/__locales/ko.json
index aff7452e..87e9e3df 100644
--- a/client/src/__locales/ko.json
+++ b/client/src/__locales/ko.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 설정",
     "form_error_required": "필수 영역",
     "form_error_ip4_format": "잘못된 IPv4 형식",
-    "form_error_ip4_range_start_format": "잘못된 범위 시작 IPv4 형식",
-    "form_error_ip4_range_end_format": "잘못된 범위 종료 IPv4 형식",
     "form_error_ip4_gateway_format": "잘못된 게이트웨이 IPv4 형식",
     "form_error_ip6_format": "잘못된 IPv6 주소",
     "form_error_ip_format": "잘못된 IP 주소",
@@ -51,7 +49,6 @@
     "out_of_range_error": "'{{start}}'-'{{end}}' 범위 밖이어야 합니다",
     "lower_range_start_error": "범위 시작보다 작은 값이어야 합니다",
     "greater_range_start_error": "범위 시작보다 큰 값이어야 합니다",
-    "greater_range_end_error": "범위 종료보다 큰 값이어야 합니다",
     "subnet_error": "주소는 하나의 서브넷에 있어야 합니다",
     "gateway_or_subnet_invalid": "잘못된 서브넷 마스크",
     "dhcp_form_gateway_input": "게이트웨이 IP",
@@ -223,7 +220,7 @@
     "example_upstream_tcp_hostname": "일반 DNS (TCP를 통한, 호스트명);",
     "all_lists_up_to_date_toast": "모든 리스트가 이미 최신입니다",
     "updated_upstream_dns_toast": "업스트림 서버가 성공적으로 저장되었습니다",
-    "dns_test_ok_toast": "특정 DNS 서버들은 정상적으로 동작 중입니다",
+    "dns_test_ok_toast": "지정된 DNS 서버가 올바르게 작동하고 있습니다.",
     "dns_test_not_ok_toast": "서버 '{{key}}': 사용할 수 없습니다, 제대로 작성했는지 확인하세요",
     "dns_test_warning_toast": "업스트림 '{{key}}'이(가) 테스트 요청에 응답하지 않으며 제대로 작동하지 않을 수 있습니다",
     "unblock": "차단 해제",
diff --git a/client/src/__locales/nl.json b/client/src/__locales/nl.json
index 93566aa8..4edecded 100644
--- a/client/src/__locales/nl.json
+++ b/client/src/__locales/nl.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 instellingen",
     "form_error_required": "Vereist veld",
     "form_error_ip4_format": "Ongeldig IPv4-adres",
-    "form_error_ip4_range_start_format": "Ongeldig IPv4-adres start bereik",
-    "form_error_ip4_range_end_format": "Ongeldig IPv4-adres einde bereik",
     "form_error_ip4_gateway_format": "Ongeldig IPv4-adres van de gateway",
     "form_error_ip6_format": "Ongeldig IPv6-adres",
     "form_error_ip_format": "Ongeldig IP-adres",
@@ -51,9 +49,8 @@
     "out_of_range_error": "Moet buiten bereik zijn \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Moet lager zijn dan begin reeks",
     "greater_range_start_error": "Moet groter zijn dan begin reeks",
-    "greater_range_end_error": "Moet groter zijn dan einde reeks",
     "subnet_error": "Adressen moeten in één subnet vallen",
-    "gateway_or_subnet_invalid": "Subnetmasker ongeldig",
+    "gateway_or_subnet_invalid": "Ongeldig subnetmasker",
     "dhcp_form_gateway_input": "Gateway IP",
     "dhcp_form_subnet_input": "Subnet mask",
     "dhcp_form_range_title": "Bereik van IP adressen",
diff --git a/client/src/__locales/pl.json b/client/src/__locales/pl.json
index 508ed9c4..fc648088 100644
--- a/client/src/__locales/pl.json
+++ b/client/src/__locales/pl.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Ustawienia serwera DHCP IPv6",
     "form_error_required": "Pole wymagane",
     "form_error_ip4_format": "Nieprawidłowy adres IPv4",
-    "form_error_ip4_range_start_format": "Nieprawidłowy adres IPv4 początku zakresu",
-    "form_error_ip4_range_end_format": "Nieprawidłowy adres IPv4 końca zakresu",
     "form_error_ip4_gateway_format": "Nieprawidłowy adres IPv4 bramy",
     "form_error_ip6_format": "Nieprawidłowy adres IPv6",
     "form_error_ip_format": "Nieprawidłowy adres IP",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Musi być spoza zakresu \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Musi być niższy niż początek zakresu",
     "greater_range_start_error": "Musi być większy niż początek zakresu",
-    "greater_range_end_error": "Musi być większy niż koniec zakresu",
     "subnet_error": "Adresy muszą należeć do jednej podsieci",
     "gateway_or_subnet_invalid": "Nieprawidłowa maska podsieci",
     "dhcp_form_gateway_input": "Adres IP bramy",
diff --git a/client/src/__locales/pt-br.json b/client/src/__locales/pt-br.json
index cd7428ee..c2df1966 100644
--- a/client/src/__locales/pt-br.json
+++ b/client/src/__locales/pt-br.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Configurações DHCP IPv6",
     "form_error_required": "Campo obrigatório",
     "form_error_ip4_format": "Endereço de IPv4 inválido",
-    "form_error_ip4_range_start_format": "Endereço IPv4 de início de intervalo inválido",
-    "form_error_ip4_range_end_format": "Endereço IPv4 de fim de intervalo inválido.",
     "form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
     "form_error_ip6_format": "Endereço de IPv6 inválido",
     "form_error_ip_format": "Endereço de IP inválido",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Deve ser inferior ao início do intervalo",
     "greater_range_start_error": "Deve ser maior que o início do intervalo",
-    "greater_range_end_error": "Deve ser maior que o fim do intervalo",
     "subnet_error": "Endereços devem estar em uma sub-rede",
     "gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
     "dhcp_form_gateway_input": "IP do gateway",
diff --git a/client/src/__locales/pt-pt.json b/client/src/__locales/pt-pt.json
index 9905392f..d1203499 100644
--- a/client/src/__locales/pt-pt.json
+++ b/client/src/__locales/pt-pt.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Definições DHCP IPv6",
     "form_error_required": "Campo obrigatório",
     "form_error_ip4_format": "Endereço de IPv4 inválido",
-    "form_error_ip4_range_start_format": "Endereço IPv4 de início de intervalo inválido",
-    "form_error_ip4_range_end_format": "Endereço IPv4 de fim de intervalo inválido",
     "form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
     "form_error_ip6_format": "Endereço de IPv6 inválido",
     "form_error_ip_format": "Endereço de email inválido",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Deve ser inferior ao início do intervalo",
     "greater_range_start_error": "Deve ser maior que o início do intervalo",
-    "greater_range_end_error": "Deve ser maior que o fim do intervalo",
     "subnet_error": "Os endereços devem estar em uma sub-rede",
     "gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
     "dhcp_form_gateway_input": "IP do gateway",
diff --git a/client/src/__locales/ro.json b/client/src/__locales/ro.json
index 195d3f5e..696f1590 100644
--- a/client/src/__locales/ro.json
+++ b/client/src/__locales/ro.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Setări DHCP IPv6",
     "form_error_required": "Câmp obligatoriu",
     "form_error_ip4_format": "Adresă IPv4 nevalidă",
-    "form_error_ip4_range_start_format": "Adresă IPv4 nevalidă pentru începutul intervalului",
-    "form_error_ip4_range_end_format": "Adresă IPv4 nevalidă a sfârșitului intervalului",
     "form_error_ip4_gateway_format": "Adresă IPv4 nevalidă a gateway-ului",
     "form_error_ip6_format": "Adresa IPv6 nevalidă",
     "form_error_ip_format": "Adresă IP nevalidă",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Trebuie să fie în afara intervalului „{{start}}”-„{{end}}”",
     "lower_range_start_error": "Trebuie să fie mai mică decât începutul intervalului",
     "greater_range_start_error": "Trebuie să fie mai mare decât începutul intervalului",
-    "greater_range_end_error": "Trebuie să fie mai mare decât sfârșitul intervalului",
     "subnet_error": "Adresele trebuie să fie în aceeași subrețea",
     "gateway_or_subnet_invalid": "Mască de subrețea nevalidă",
     "dhcp_form_gateway_input": "IP Gateway",
diff --git a/client/src/__locales/ru.json b/client/src/__locales/ru.json
index f712bd75..43e9c55d 100644
--- a/client/src/__locales/ru.json
+++ b/client/src/__locales/ru.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Настройки DHCP IPv6",
     "form_error_required": "Обязательное поле",
     "form_error_ip4_format": "Некорректный IPv4-адрес",
-    "form_error_ip4_range_start_format": "Некорректный IPv4-адрес начала диапазона",
-    "form_error_ip4_range_end_format": "Некорректный IPv4-адрес конца диапазона",
     "form_error_ip4_gateway_format": "Некорректный IPv4-адрес шлюза",
     "form_error_ip6_format": "Некорректный IPv6-адрес",
     "form_error_ip_format": "Некорректный IP-адрес",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Должно быть вне диапазона «{{start}}»-«{{end}}»",
     "lower_range_start_error": "Должно быть меньше начала диапазона",
     "greater_range_start_error": "Должно быть больше начала диапазона",
-    "greater_range_end_error": "Должно быть больше конца диапазона",
     "subnet_error": "Адреса должны быть внутри одной подсети",
     "gateway_or_subnet_invalid": "Некорректная маска подсети",
     "dhcp_form_gateway_input": "IP-адрес шлюза",
diff --git a/client/src/__locales/sk.json b/client/src/__locales/sk.json
index b44501e6..c0919a1d 100644
--- a/client/src/__locales/sk.json
+++ b/client/src/__locales/sk.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Nastavenia DHCP IPv6",
     "form_error_required": "Povinná položka.",
     "form_error_ip4_format": "Neplatná IPv4 adresa",
-    "form_error_ip4_range_start_format": "Neplatný začiatok rozsahu IPv4 formátu",
-    "form_error_ip4_range_end_format": "Neplatný koniec rozsahu IPv4 formátu",
     "form_error_ip4_gateway_format": "Neplatná IPv4 adresa brány",
     "form_error_ip6_format": "Neplatná IPv6 adresa",
     "form_error_ip_format": "Neplatná IP adresa",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Musí byť mimo rozsahu \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Musí byť nižšie ako začiatok rozsahu",
     "greater_range_start_error": "Musí byť väčšie ako začiatok rozsahu",
-    "greater_range_end_error": "Musí byť väčšie ako koniec rozsahu",
     "subnet_error": "Adresy musia byť v spoločnej podsieti",
     "gateway_or_subnet_invalid": "Maska podsiete je neplatná",
     "dhcp_form_gateway_input": "IP brána",
diff --git a/client/src/__locales/sl.json b/client/src/__locales/sl.json
index bb6a60c6..112feede 100644
--- a/client/src/__locales/sl.json
+++ b/client/src/__locales/sl.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Nastavitve DHCP IPv6",
     "form_error_required": "Zahtevano polje.",
     "form_error_ip4_format": "Neveljaven naslov IPv4.",
-    "form_error_ip4_range_start_format": "Neveljaven začetek razpona naslova IPv4",
-    "form_error_ip4_range_end_format": "Neveljaven konec razpona naslova IPv4",
     "form_error_ip4_gateway_format": "Neveljaven naslov IPv4 prehoda",
     "form_error_ip6_format": "Neveljaven naslov IPv6",
     "form_error_ip_format": "Neveljaven naslov IP",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Mora biti izven razpona \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Mora biti manjši od začetka razpona",
     "greater_range_start_error": "Mora biti večji od začetka razpona",
-    "greater_range_end_error": "Mora biti večji od konca razpona",
     "subnet_error": "Naslovi morajo biti v enem podomrežju",
     "gateway_or_subnet_invalid": "Maska podomrežja ni veljavna",
     "dhcp_form_gateway_input": "IP prehoda",
diff --git a/client/src/__locales/sr-cs.json b/client/src/__locales/sr-cs.json
index 53b0c3e5..e25088f0 100644
--- a/client/src/__locales/sr-cs.json
+++ b/client/src/__locales/sr-cs.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 postavke",
     "form_error_required": "Obavezno polje",
     "form_error_ip4_format": "Nevažeća IPv4 adresa",
-    "form_error_ip4_range_start_format": "Nevažeća IPv4 addresa početnog opsega",
-    "form_error_ip4_range_end_format": "Nevažeća IPv4 addresa završnog opsega",
     "form_error_ip4_gateway_format": "Nevažeća IPv4 addresa prozala",
     "form_error_ip6_format": "Nevažeća IPv6 adresa",
     "form_error_ip_format": "Nevažeća IP adresa",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Mora biti izvan opsega \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Mora biti manje od početnog opsega",
     "greater_range_start_error": "Mora biti veće od početnog opsega",
-    "greater_range_end_error": "Mora biti veće od završnog opsega",
     "subnet_error": "Asrese moraju biti u jednoj subnet",
     "gateway_or_subnet_invalid": "Subnet mask nevažeća",
     "dhcp_form_gateway_input": "IP mrežnog prolaza",
diff --git a/client/src/__locales/sv.json b/client/src/__locales/sv.json
index 7715211f..24b8c845 100644
--- a/client/src/__locales/sv.json
+++ b/client/src/__locales/sv.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 inställningar",
     "form_error_required": "Obligatoriskt fält",
     "form_error_ip4_format": "Ogiltig IPv4-adress",
-    "form_error_ip4_range_start_format": "Ogiltig IPv4-adress för starten av intervallet",
-    "form_error_ip4_range_end_format": "Ogiltig IPv4-adress för slutet av intervallet",
     "form_error_ip4_gateway_format": "Ogiltig IPv4 adress för gatewayen",
     "form_error_ip6_format": "Ogiltig IPv6-adress",
     "form_error_ip_format": "Ogiltig IP-adress",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Måste vara utanför intervallet \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Måste vara lägre än starten på intervallet",
     "greater_range_start_error": "Måste vara högre än starten på intervallet",
-    "greater_range_end_error": "Måste vara större än intervallets slut",
     "subnet_error": "Adresser måste finnas i ett subnät",
     "gateway_or_subnet_invalid": "Subnätmask ogiltig",
     "dhcp_form_gateway_input": "Gateway-IP",
diff --git a/client/src/__locales/tr.json b/client/src/__locales/tr.json
index 5396eb52..62eec38d 100644
--- a/client/src/__locales/tr.json
+++ b/client/src/__locales/tr.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 Ayarları",
     "form_error_required": "Gerekli alan",
     "form_error_ip4_format": "Geçersiz IPv4 adresi",
-    "form_error_ip4_range_start_format": "Geçersiz başlangıç aralığı IPv4 biçimi",
-    "form_error_ip4_range_end_format": "Geçersiz bitiş aralığı IPv4 adresi",
     "form_error_ip4_gateway_format": "Geçersiz ağ geçidi IPv4 adresi",
     "form_error_ip6_format": "Geçersiz IPv6 adresi",
     "form_error_ip_format": "Geçersiz IP adresi",
@@ -51,9 +49,8 @@
     "out_of_range_error": "\"{{start}}\"-\"{{end}}\" aralığının dışında olmalıdır",
     "lower_range_start_error": "Başlangıç aralığından daha düşük olmalıdır",
     "greater_range_start_error": "Başlangıç aralığından daha büyük olmalıdır",
-    "greater_range_end_error": "Bitiş aralığından daha büyük olmalıdır",
     "subnet_error": "Adresler bir alt ağda olmalıdır",
-    "gateway_or_subnet_invalid": "Alt ağ maskesi geçersiz",
+    "gateway_or_subnet_invalid": "Geçersiz alt ağ maskesi",
     "dhcp_form_gateway_input": "Ağ geçidi IP",
     "dhcp_form_subnet_input": "Alt ağ maskesi",
     "dhcp_form_range_title": "IP adresi aralığı",
diff --git a/client/src/__locales/uk.json b/client/src/__locales/uk.json
index 797c769b..cd8e36fb 100644
--- a/client/src/__locales/uk.json
+++ b/client/src/__locales/uk.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Налаштування DHCP IPv6",
     "form_error_required": "Обов'язкове поле",
     "form_error_ip4_format": "Неправильна IPv4-адреса",
-    "form_error_ip4_range_start_format": "Неправильна IPv4-адреса початку діапазону",
-    "form_error_ip4_range_end_format": "Неправильна IPv4-адреса кінця діапазону",
     "form_error_ip4_gateway_format": "Неправильна IPv4-адреса шлюзу",
     "form_error_ip6_format": "Неправильна IPv6-адреса",
     "form_error_ip_format": "Неправильна IP-адреса",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Не повинна бути в діапазоні «{{start}}»−«{{end}}»",
     "lower_range_start_error": "Має бути меншим за початкову адресу",
     "greater_range_start_error": "Має бути більшим за початкову адресу",
-    "greater_range_end_error": "Має бути більшим за кінцеву адресу",
     "subnet_error": "Адреси повинні бути в одній підмережі",
     "gateway_or_subnet_invalid": "Неправильна маска підмережі",
     "dhcp_form_gateway_input": "IP-адреса шлюзу",
diff --git a/client/src/__locales/vi.json b/client/src/__locales/vi.json
index 174c57b2..63c02009 100644
--- a/client/src/__locales/vi.json
+++ b/client/src/__locales/vi.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "Cài đặt DHCP IPv6",
     "form_error_required": "Trường bắt buộc",
     "form_error_ip4_format": "Địa chỉ IPv4 không hợp lệ",
-    "form_error_ip4_range_start_format": "Địa chỉ IPv4 không hợp lệ của phạm vi bắt đầu",
-    "form_error_ip4_range_end_format": "Địa chỉ IPv4 không hợp lệ của cuối phạm vi",
     "form_error_ip4_gateway_format": "Địa chỉ IPv4 không hợp lệ của cổng kết nối",
     "form_error_ip6_format": "Địa chỉ IPv6 không hợp lệ",
     "form_error_ip_format": "Địa chỉ IP không hợp lệ",
@@ -51,7 +49,6 @@
     "out_of_range_error": "Phải nằm ngoài phạm vi \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "Phải thấp hơn khởi động phạm vi",
     "greater_range_start_error": "Phải lớn hơn khoảng bắt đầu",
-    "greater_range_end_error": "Phải lớn hơn phạm vi kết thúc",
     "subnet_error": "Địa chỉ phải nằm trong một mạng con",
     "gateway_or_subnet_invalid": "Mặt nạ mạng con không hợp lệ",
     "dhcp_form_gateway_input": "Cổng IP",
diff --git a/client/src/__locales/zh-cn.json b/client/src/__locales/zh-cn.json
index 65ddd0cc..c8996e85 100644
--- a/client/src/__locales/zh-cn.json
+++ b/client/src/__locales/zh-cn.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6设置",
     "form_error_required": "必填字段",
     "form_error_ip4_format": "无效的 IPv4 地址",
-    "form_error_ip4_range_start_format": "范围起始值的 IPv4 地址无效",
-    "form_error_ip4_range_end_format": "范围终值的 IPv4 地址无效",
     "form_error_ip4_gateway_format": "网关 IPv4 地址无效",
     "form_error_ip6_format": "无效的 IPv6 地址",
     "form_error_ip_format": "无效的 IP 地址",
@@ -51,7 +49,6 @@
     "out_of_range_error": "必定超出了范围 \"{{start}}\"-\"{{end}}\"",
     "lower_range_start_error": "必须小于范围起始值",
     "greater_range_start_error": "必须大于范围起始值",
-    "greater_range_end_error": "必须大于范围终值",
     "subnet_error": "地址必须在一个子网内",
     "gateway_or_subnet_invalid": "子网掩码无效",
     "dhcp_form_gateway_input": "网关 IP",
diff --git a/client/src/__locales/zh-tw.json b/client/src/__locales/zh-tw.json
index da8f815f..021ea1bb 100644
--- a/client/src/__locales/zh-tw.json
+++ b/client/src/__locales/zh-tw.json
@@ -37,8 +37,6 @@
     "dhcp_ipv6_settings": "DHCP IPv6 設定",
     "form_error_required": "必填的欄位",
     "form_error_ip4_format": "無效的 IPv4 位址",
-    "form_error_ip4_range_start_format": "無效起始範圍的 IPv4 位址",
-    "form_error_ip4_range_end_format": "無效結束範圍的 IPv4 位址",
     "form_error_ip4_gateway_format": "無效閘道的 IPv4 位址",
     "form_error_ip6_format": "無效的 IPv6 位址",
     "form_error_ip_format": "無效的 IP 位址",
@@ -51,7 +49,6 @@
     "out_of_range_error": "必須在\"{{start}}\"-\"{{end}}\"範圍之外",
     "lower_range_start_error": "必須低於起始範圍",
     "greater_range_start_error": "必須大於起始範圍",
-    "greater_range_end_error": "必須大於結束範圍",
     "subnet_error": "位址必須在子網路中",
     "gateway_or_subnet_invalid": "無效的子網路遮罩",
     "dhcp_form_gateway_input": "閘道 IP",
diff --git a/client/src/helpers/filters/filters.js b/client/src/helpers/filters/filters.js
index 5a5ffad7..00a0f336 100644
--- a/client/src/helpers/filters/filters.js
+++ b/client/src/helpers/filters/filters.js
@@ -28,6 +28,12 @@ export default {
             "homepage": "https://badmojr.github.io/1Hosts/",
             "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_24.txt"
         },
+        "1hosts_mini": {
+            "name": "1Hosts (mini)",
+            "categoryId": "general",
+            "homepage": "https://badmojr.github.io/1Hosts/",
+            "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_38.txt"
+        },
         "CHN_adrules": {
             "name": "CHN: AdRules DNS List",
             "categoryId": "regional",
@@ -40,6 +46,12 @@ export default {
             "homepage": "https://anti-ad.net/",
             "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_21.txt"
         },
+        "HUN_hufilter": {
+            "name": "HUN: Hufilter",
+            "categoryId": "regional",
+            "homepage": "https://github.com/hufilter/hufilter",
+            "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_35.txt"
+        },
         "IDN_abpindo": {
             "name": "IDN: ABPindo",
             "categoryId": "regional",
@@ -70,6 +82,12 @@ export default {
             "homepage": "https://github.com/yous/YousList",
             "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_15.txt"
         },
+        "LIT_easylist_lithuania": {
+            "name": "LIT: EasyList Lithuania",
+            "categoryId": "regional",
+            "homepage": "https://github.com/EasyList-Lithuania/easylist_lithuania",
+            "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_36.txt"
+        },
         "MKD_macedonian_pi_hole_blocklist": {
             "name": "MKD: Macedonian Pi-hole Blocklist",
             "categoryId": "regional",
@@ -148,6 +166,18 @@ export default {
             "homepage": "https://energized.pro/",
             "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_28.txt"
         },
+        "hagezi_personal": {
+            "name": "HaGeZi Personal Black \u0026 White",
+            "categoryId": "general",
+            "homepage": "https://github.com/hagezi/dns-blocklists",
+            "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_34.txt"
+        },
+        "no_google": {
+            "name": "No Google",
+            "categoryId": "other",
+            "homepage": "https://github.com/nickspaargaren/no-google",
+            "source": "https://adguardteam.github.io/HostlistsRegistry/assets/filter_37.txt"
+        },
         "nocoin_filter_list": {
             "name": "NoCoin Filter List",
             "categoryId": "security",
diff --git a/internal/filtering/servicelist.go b/internal/filtering/servicelist.go
index 232976e8..b28ad2c1 100644
--- a/internal/filtering/servicelist.go
+++ b/internal/filtering/servicelist.go
@@ -253,7 +253,6 @@ var blockedServices = []blockedService{{
 	Rules: []string{
 		"||aus.social^",
 		"||awscommunity.social^",
-		"||dju.social^",
 		"||dresden.network^",
 		"||fedibird.com^",
 		"||fosstodon.org^",
@@ -261,11 +260,11 @@ var blockedServices = []blockedService{{
 		"||h4.io^",
 		"||hachyderm.io^",
 		"||hessen.social^",
-		"||hispagatos.space^",
 		"||home.social^",
 		"||hostux.social^",
 		"||ieji.de^",
 		"||indieweb.social^",
+		"||infosec.exchange^",
 		"||ioc.exchange^",
 		"||kolektiva.social^",
 		"||livellosegreto.it^",
@@ -287,9 +286,11 @@ var blockedServices = []blockedService{{
 		"||mastodon.nu^",
 		"||mastodon.nz^",
 		"||mastodon.online^",
+		"||mastodon.online^",
 		"||mastodon.scot^",
 		"||mastodon.sdf.org^",
 		"||mastodon.social^",
+		"||mastodon.social^",
 		"||mastodon.top^",
 		"||mastodon.uno^",
 		"||mastodon.world^",
@@ -309,7 +310,6 @@ var blockedServices = []blockedService{{
 		"||mstdn.social^",
 		"||muenchen.social^",
 		"||muenster.im^",
-		"||nerdculture.de^",
 		"||newsie.social^",
 		"||noc.social^",
 		"||norden.social^",
@@ -335,21 +335,21 @@ var blockedServices = []blockedService{{
 		"||social.vivaldi.net^",
 		"||sself.co^",
 		"||sueden.social^",
+		"||tech.lgbt^",
 		"||techhub.social^",
 		"||theblower.au^",
 		"||tkz.one^",
+		"||todon.eu^",
 		"||toot.aquilenet.fr^",
 		"||toot.community^",
 		"||toot.funami.tech^",
 		"||toot.wales^",
 		"||troet.cafe^",
-		"||uiuxdev.social^",
+		"||twingyeo.kr^",
 		"||union.place^",
 		"||universeodon.com^",
 		"||urbanists.social^",
-		"||vocalodon.net^",
 		"||wxw.moe^",
-		"||xarxa.cloud^",
 	},
 }, {
 	ID:      "minecraft",
@@ -540,6 +540,7 @@ var blockedServices = []blockedService{{
 	Name:    "Twitter",
 	IconSVG: []byte("<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M22.398 5.55a8.583 8.583 0 0 1-2.449.673 4.252 4.252 0 0 0 1.875-2.364 8.66 8.66 0 0 1-2.71 1.04A4.251 4.251 0 0 0 16 3.546a4.27 4.27 0 0 0-4.266 4.27c0 .335.036.66.11.972a12.126 12.126 0 0 1-8.797-4.46 4.259 4.259 0 0 0-.578 2.148c0 1.48.754 2.785 1.898 3.55a4.273 4.273 0 0 1-1.933-.535v.055a4.27 4.27 0 0 0 3.425 4.183c-.359.098-.734.149-1.125.149-.273 0-.543-.027-.804-.074a4.276 4.276 0 0 0 3.988 2.965 8.562 8.562 0 0 1-5.3 1.824 8.82 8.82 0 0 1-1.02-.059 12.088 12.088 0 0 0 6.543 1.918c7.851 0 12.14-6.504 12.14-12.144 0-.184-.004-.368-.011-.551a8.599 8.599 0 0 0 2.128-2.207zm0 0\" /></svg>"),
 	Rules: []string{
+		"||pscp.tv^",
 		"||t.co^",
 		"||twimg.com^",
 		"||twitter.com^",

From ec05ee16fe3df3448cc99bf4a40ca440e852f5e5 Mon Sep 17 00:00:00 2001
From: Ainar Garipov <a.garipov@adguard.com>
Date: Thu, 15 Dec 2022 17:38:01 +0300
Subject: [PATCH 2/4] Pull request: skip-snap

Merge in DNS/adguard-home from skip-snap to master

Squashed commit of the following:

commit 3859612645826ccad025ab4ba7e03adac6d09842
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Dec 15 17:19:48 2022 +0300

    all: skip snap upload temporarily; imp issue tmpl
---
 .github/ISSUE_TEMPLATE/config.yml | 6 +++---
 bamboo-specs/release.yaml         | 8 +++++++-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index c80d6d66..d2ca2128 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -7,9 +7,9 @@
     'name': 'AdGuard filters issues'
     'url': 'https://link.adtidy.org/forward.html?action=report&app=home&from=github'
   - 'about': >
-        Please send requests for addition to the vetted filtering lists to the
-        Hostlists Registry repository.
-    'name': 'AdGuard Hostlists Registry'
+        Please send requests for new blocked services and vetted filtering lists
+        to the Hostlists Registry repository
+    'name': 'Blocked services and vetted filtering rule lists: AdGuard Hostlists Registry'
     'url': 'https://github.com/AdguardTeam/HostlistsRegistry'
   - 'about': >
         Please use GitHub Discussions for questions
diff --git a/bamboo-specs/release.yaml b/bamboo-specs/release.yaml
index a43dca2b..dc9acae9 100644
--- a/bamboo-specs/release.yaml
+++ b/bamboo-specs/release.yaml
@@ -239,12 +239,18 @@
               ;;
         esac
 
+        # Ignore errors from the Snapstore upload script, because it seems to
+        # have a lot of issues recently.
+        #
+        # TODO(a.garipov): Stop ignoring those errors once they fix the issues.
+        #
+        # See https://forum.snapcraft.io/t/unable-to-upload-promote-snaps-to-edge/33120.
         env\
                 SNAPCRAFT_CHANNEL="$snapchannel"\
                 SNAPCRAFT_EMAIL="${bamboo.snapcraftEmail}"\
                 SNAPCRAFT_MACAROON="${bamboo.snapcraftMacaroonPassword}"\
                 SNAPCRAFT_UBUNTU_DISCHARGE="${bamboo.snapcraftUbuntuDischargePassword}"\
-                ../bamboo-deploy-publisher/deploy.sh adguard-home-snap
+                ../bamboo-deploy-publisher/deploy.sh adguard-home-snap || :
   'final-tasks':
   - 'clean'
   'requirements':

From cfab157146c8f4ac4b19fb21620958906b36c4e1 Mon Sep 17 00:00:00 2001
From: Ainar Garipov <a.garipov@adguard.com>
Date: Thu, 15 Dec 2022 18:19:00 +0300
Subject: [PATCH 3/4] Pull request: upd-chlog

Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 6d99abd2144219393be3997b723288c36ee72faf
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Dec 15 18:14:07 2022 +0300

    all: upd chlog
---
 CHANGELOG.md | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 558a3658..b23ecb4d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,16 +18,22 @@ and this project adheres to
 
 
 <!--
-## [v0.107.21] - 2122-12-28 (APPROX.)
+## [v0.107.22] - 2222-12-28 (APPROX.)
+
+See also the [v0.107.22 GitHub milestone][ms-v0.107.22].
+
+[ms-v0.107.22]: https://github.com/AdguardTeam/AdGuardHome/milestone/58?closed=1
+-->
+
+
+
+## [v0.107.21] - 2122-12-15
 
 See also the [v0.107.21 GitHub milestone][ms-v0.107.21].
 
-[ms-v0.107.21]: https://github.com/AdguardTeam/AdGuardHome/milestone/57?closed=1
--->
-
 ### Changed
 
-- The URLs of the default filters for new installations are synchrhonized to
+- The URLs of the default filters for new installations are synchronized to
   those introduced in v0.107.20 ([#5238]).
 
   **NOTE:** Some users may need to re-add the lists from the vetted filter lists
@@ -42,6 +48,8 @@ See also the [v0.107.21 GitHub milestone][ms-v0.107.21].
 [#5238]: https://github.com/AdguardTeam/AdGuardHome/issues/5238
 [#5251]: https://github.com/AdguardTeam/AdGuardHome/issues/5251
 
+[ms-v0.107.21]: https://github.com/AdguardTeam/AdGuardHome/milestone/57?closed=1
+
 
 
 ## [v0.107.20] - 2022-12-07
@@ -1499,11 +1507,12 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].
 
 
 <!--
-[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.21...HEAD
-[v0.107.21]:  https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.20...v0.107.21
+[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.22...HEAD
+[v0.107.22]:  https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.21...v0.107.22
 -->
 
-[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.20...HEAD
+[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.21...HEAD
+[v0.107.21]:  https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.20...v0.107.21
 [v0.107.20]:  https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.19...v0.107.20
 [v0.107.19]:  https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.18...v0.107.19
 [v0.107.18]:  https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.17...v0.107.18

From de08ef0077d5da13327c64d5d47dedc298ee4551 Mon Sep 17 00:00:00 2001
From: Ainar Garipov <a.garipov@adguard.com>
Date: Thu, 15 Dec 2022 19:13:59 +0300
Subject: [PATCH 4/4] Pull request: unignore-snap

Merge in DNS/adguard-home from unignore-snap to master

Squashed commit of the following:

commit 2901080c92d5316bcbf536ebdfeaff88cea0edd4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Dec 15 19:08:46 2022 +0300

    all: unignore snap
---
 bamboo-specs/release.yaml | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/bamboo-specs/release.yaml b/bamboo-specs/release.yaml
index dc9acae9..a43dca2b 100644
--- a/bamboo-specs/release.yaml
+++ b/bamboo-specs/release.yaml
@@ -239,18 +239,12 @@
               ;;
         esac
 
-        # Ignore errors from the Snapstore upload script, because it seems to
-        # have a lot of issues recently.
-        #
-        # TODO(a.garipov): Stop ignoring those errors once they fix the issues.
-        #
-        # See https://forum.snapcraft.io/t/unable-to-upload-promote-snaps-to-edge/33120.
         env\
                 SNAPCRAFT_CHANNEL="$snapchannel"\
                 SNAPCRAFT_EMAIL="${bamboo.snapcraftEmail}"\
                 SNAPCRAFT_MACAROON="${bamboo.snapcraftMacaroonPassword}"\
                 SNAPCRAFT_UBUNTU_DISCHARGE="${bamboo.snapcraftUbuntuDischargePassword}"\
-                ../bamboo-deploy-publisher/deploy.sh adguard-home-snap || :
+                ../bamboo-deploy-publisher/deploy.sh adguard-home-snap
   'final-tasks':
   - 'clean'
   'requirements':