1
mirror of https://github.com/topjohnwu/Magisk synced 2024-11-13 20:54:12 +01:00

Add DoH back

JSDelivr is no longer China friendly
This commit is contained in:
topjohnwu 2022-01-13 03:50:29 -08:00
parent 9c93fe6003
commit a7af8b5722
36 changed files with 111 additions and 1 deletions

View File

@ -99,6 +99,7 @@ dependencies {
val vOkHttp = "4.9.3"
implementation("com.squareup.okhttp3:okhttp:${vOkHttp}")
implementation("com.squareup.okhttp3:logging-interceptor:${vOkHttp}")
implementation("com.squareup.okhttp3:okhttp-dnsoverhttps:${vOkHttp}")
val vMoshi = "1.13.0"
implementation("com.squareup.moshi:moshi:${vMoshi}")

View File

@ -60,6 +60,7 @@ object Config : PreferenceModel, DBConfig {
const val THEME_ORDINAL = "theme_ordinal"
const val BOOT_ID = "boot_id"
const val ASKED_HOME = "asked_home"
const val DOH = "doh"
}
object Value {
@ -131,6 +132,7 @@ object Config : PreferenceModel, DBConfig {
var suReAuth by preference(Key.SU_REAUTH, false)
var suTapjack by preference(Key.SU_TAPJACK, true)
var checkUpdate by preference(Key.CHECK_UPDATES, true)
var doh by preference(Key.DOH, false)
var showSystemApp by preference(Key.SHOW_SYSTEM_APP, false)
var customChannelUrl by preference(Key.CUSTOM_CHANNEL, "")

View File

@ -4,18 +4,53 @@ import android.content.Context
import com.squareup.moshi.Moshi
import com.topjohnwu.magisk.BuildConfig
import com.topjohnwu.magisk.ProviderInstaller
import com.topjohnwu.magisk.core.Config
import com.topjohnwu.magisk.core.Info
import com.topjohnwu.magisk.ktx.precomputedText
import com.topjohnwu.magisk.utils.MarkwonImagePlugin
import io.noties.markwon.Markwon
import io.noties.markwon.html.HtmlPlugin
import okhttp3.Cache
import okhttp3.Dns
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.OkHttpClient
import okhttp3.dnsoverhttps.DnsOverHttps
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.moshi.MoshiConverterFactory
import retrofit2.converter.scalars.ScalarsConverterFactory
import java.io.File
import java.net.InetAddress
import java.net.UnknownHostException
private class DnsResolver(client: OkHttpClient) : Dns {
private val doh by lazy {
DnsOverHttps.Builder().client(client)
.url("https://cloudflare-dns.com/dns-query".toHttpUrl())
.bootstrapDnsHosts(listOf(
InetAddress.getByName("162.159.36.1"),
InetAddress.getByName("162.159.46.1"),
InetAddress.getByName("1.1.1.1"),
InetAddress.getByName("1.0.0.1"),
InetAddress.getByName("2606:4700:4700::1111"),
InetAddress.getByName("2606:4700:4700::1001"),
InetAddress.getByName("2606:4700:4700::0064"),
InetAddress.getByName("2606:4700:4700::6400")
))
.resolvePrivateAddresses(true) /* To make PublicSuffixDatabase never used */
.build()
}
override fun lookup(hostname: String): List<InetAddress> {
if (Config.doh) {
try {
return doh.lookup(hostname)
} catch (e: UnknownHostException) {}
}
return Dns.SYSTEM.lookup(hostname)
}
}
fun createOkHttpClient(context: Context): OkHttpClient {
@ -32,6 +67,7 @@ fun createOkHttpClient(context: Context): OkHttpClient {
Info.hasGMS = false
}
builder.dns(DnsResolver(builder.build()))
return builder.build()
}

View File

@ -189,6 +189,15 @@ object UpdateChecker : BaseSettingsItem.Toggle() {
}
}
object DoHToggle : BaseSettingsItem.Toggle() {
override val title = R.string.settings_doh_title.asText()
override val description = R.string.settings_doh_description.asText()
override var value = Config.doh
set(value) = setV(value, field, { field = it }) {
Config.doh = it
}
}
// check whether is module already installed beforehand?
object SystemlessHosts : BaseSettingsItem.Blank() {
override val title = R.string.settings_hosts_title.asText()

View File

@ -52,7 +52,7 @@ class SettingsViewModel : BaseViewModel(), BaseSettingsItem.Callback {
// Manager
list.addAll(listOf(
AppSettings,
UpdateChannel, UpdateChannelUrl, UpdateChecker, DownloadPath
UpdateChannel, UpdateChannelUrl, DoHToggle, UpdateChecker, DownloadPath
))
if (Info.env.isActive) {
if (Const.USER_ID == 0) {

View File

@ -163,6 +163,8 @@
<string name="no_biometric">Не падтрымліваецца прыладай альбо не ўключана ў наладах</string>
<string name="settings_customization">Персаналізацыя</string>
<string name="setting_add_shortcut_summary">Дадаць на хатні экран прыгожы цэтлік на той выпадак, калі пасля хавання праграмы будзе цяжка разглядзець значок і назву</string>
<string name="settings_doh_title">DNS паверх HTTPS</string>
<string name="settings_doh_description">Абыходны шлях для DNS у некаторых краінах</string>
<string name="multiuser_mode">Шматкарыстальніцкі рэжым</string>
<string name="settings_owner_only">Толькі ўладальнік</string>
<string name="settings_owner_manage">Кіраванне ўладальнікам</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">El dispositiu no suporta o no té establerta configuració biomètrica</string>
<string name="settings_customization">Personalització</string>
<string name="setting_add_shortcut_summary">Afegeix una bonica drecera a la pantalla d\'inici en cas que el nom i la icona siguin difícils de reconèixer després d\'amagar l\'aplicació.</string>
<string name="settings_doh_title">DNS sobre HTTPS</string>
<string name="settings_doh_description">Solució per enverinament de DNS en algunes nacions</string>
<string name="multiuser_mode">Mode Multiusuari</string>
<string name="settings_owner_only">Només Administrador del Dispositiu</string>

View File

@ -172,6 +172,8 @@
<string name="no_biometric">Nepodporované zařízení nebo není biometrické ověření povolené</string>
<string name="settings_customization">Přizpůsobit</string>
<string name="setting_add_shortcut_summary">Přidejte odkaz na domovskou obrazovku v případě, že se po skrytí aplikace její název a ikona těžko rozpoznávají.</string>
<string name="settings_doh_title">DNS nebo HTTPS</string>
<string name="settings_doh_description">Řešení pro opravy DNS v některých zemích.</string>
<string name="multiuser_mode">Režim více uživatelů</string>
<string name="settings_owner_only">Vlastník zařízení</string>

View File

@ -180,6 +180,8 @@
<string name="no_biometric">Gerät unterstützt keine biometrischen Daten oder ist nicht mit diesen konfiguriert</string>
<string name="settings_customization">Personalisierung</string>
<string name="setting_add_shortcut_summary">Hinzufügen einer hübschen Startbildschirm-Verknüpfung, falls der Name und das Symbol nach dem Ausblenden der App schwer zu erkennen sind</string>
<string name="settings_doh_title">DNS über HTTPS</string>
<string name="settings_doh_description">Umgehung des DNS-Poisoning in einigen Ländern</string>
<string name="multiuser_mode">Mehrbenutzermodus</string>
<string name="settings_owner_only">Nur der Gerätebesitzer</string>

View File

@ -172,6 +172,8 @@
<string name="no_biometric">Δεν υποστηρίζεται η συσκευή ή δεν υπάρχει καμία βιομετρική ρύθμιση</string>
<string name="settings_customization">Προσαρμογή</string>
<string name="setting_add_shortcut_summary">Προσθέστε μια όμορφη συντόμευση στην αρχική οθόνη σε περίπτωση που το όνομα και το εικονίδιο είναι δύσκολο να αναγνωριστούν αφού κρύψετε την εφαρμογή</string>
<string name="settings_doh_title">DNS μέσω HTTPS</string>
<string name="settings_doh_description">Λύση DNS poisoning για μερικά έθνη</string>
<string name="multiuser_mode">Λειτουργία Πολλών Χρηστών</string>
<string name="settings_owner_only">Μόνο Ιδιοκτήτης Συσκευής</string>

View File

@ -182,6 +182,8 @@
<string name="no_biometric">Dispositivo no compatible o las configuraciones biométricas no están habilitadas</string>
<string name="settings_customization">Personalización</string>
<string name="setting_add_shortcut_summary">Añade un bonito atajo en la pantalla de inicio en caso de que el nombre y el icono sean difíciles de reconocer después de ocultar la aplicación</string>
<string name="settings_doh_title">DNS sobre HTTPS</string>
<string name="settings_doh_description">Evitar envenenamiento de DNS en algunos países</string>
<string name="multiuser_mode">Modo multiusuario</string>
<string name="settings_owner_only">Sólo administrador del dispositivo</string>

View File

@ -162,6 +162,8 @@
<string name="no_biometric">Mittetoetatud seade või ükski biomeetriaseadistus pole lubatud</string>
<string name="settings_customization">Kohandamine</string>
<string name="setting_add_shortcut_summary">Lisa avakuvale ilus otsetee, juhul kui nime ja ikooni on pärast rakenduse peitmist raske tuvastada</string>
<string name="settings_doh_title">DNS üle HTTPSi</string>
<string name="settings_doh_description">Väldi mõnes riigis DNSi mürgitamist</string>
<string name="multiuser_mode">Mitmikkasutaja režiim</string>
<string name="settings_owner_only">Ainult seadme omanik</string>

View File

@ -182,6 +182,8 @@
<string name="no_biometric">Lappareil nest pas pris en charge ou alors aucun paramètre biométrique nest activé</string>
<string name="settings_customization">Personnalisation</string>
<string name="setting_add_shortcut_summary">Ajouter un joli raccourci dans lécran daccueil au cas où le nom et licône seraient difficiles à reconnaître après avoir masqué lapplication</string>
<string name="settings_doh_title">DNS sur HTTPS</string>
<string name="settings_doh_description">Contournement de la censure du DNS dans certains pays</string>
<string name="multiuser_mode">Mode multiutilisateur</string>
<string name="settings_owner_only">Propriétaire de lappareil uniquement</string>

View File

@ -164,6 +164,8 @@
<string name="no_biometric">असमर्थित डिवाइस या कोई बायोमेट्रिक सेटिंग सक्षम नहीं हैं</string>
<string name="settings_customization">कस्टमाईजेशन</string>
<string name="setting_add_shortcut_summary">ऐप को छिपाने के बाद नाम और आइकन को पहचानना मुश्किल है, तो होम स्क्रीन में एक सुंदर शॉर्टकट जोड़ें</string>
<string name="settings_doh_title">DNS पर HTTPS</string>
<string name="settings_doh_description">कुछ राष्ट्रों में चल रही DNS विषाक्तता का समाधान</string>
<string name="multiuser_mode">बहु उपयोगकर्ता मोड</string>
<string name="settings_owner_only">केवल डिवाइस का मालिक</string>

View File

@ -162,6 +162,8 @@
<string name="no_biometric">Nepodržani uređaj ili nije omogućena biometrijska provjera autentičnosti</string>
<string name="settings_customization">Prilagodba</string>
<string name="setting_add_shortcut_summary">Dodajte lijepi prečac na početni zaslon u slučaju da je naziv i ikonu teško prepoznati nakon skrivanja aplikacije</string>
<string name="settings_doh_title">DNS preko HTTPS-a</string>
<string name="settings_doh_description">Zaobilazno trovanje DNS-om u nekim zemljama</string>
<string name="multiuser_mode">Višekorisnički način rada</string>
<string name="settings_owner_only">Samo vlasnik uređaja</string>

View File

@ -167,6 +167,8 @@
<string name="no_biometric">Perangkat tidak mendukung atau setelan biometrik tidak diaktifkan</string>
<string name="settings_customization">Personalisasi</string>
<string name="setting_add_shortcut_summary">Tambahkan pintasan yang menarik pada layar utama seandainya nama dan ikon sulit untuk dikenali setelah menyembunyikan aplikasi</string>
<string name="settings_doh_title">DNS melalui HTTPS</string>
<string name="settings_doh_description">Solusi untuk DNS poisoning di beberapa negara</string>
<string name="multiuser_mode">Mode multi pengguna</string>
<string name="settings_owner_only">Pemilik perangkat saja</string>

View File

@ -180,6 +180,8 @@
<string name="no_biometric">Il dispositivo non è supportato o le impostazioni biometriche sono disattivate</string>
<string name="settings_customization">Personalizzazione</string>
<string name="setting_add_shortcut_summary">Aggiungi un collegamento alla schermata iniziale se il nome e l\'icona sono difficili da riconoscere dopo aver nascosto l\'app</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">Soluzione alternativa al DNS poisoning in alcune nazioni</string>
<string name="multiuser_mode">Modalità multiutente</string>
<string name="settings_owner_only">Solo per il proprietario del dispositivo</string>

View File

@ -171,6 +171,8 @@
<string name="no_biometric">התקן לא נתמך או הגדרות ביומטריות אינן מאופשרות</string>
<string name="settings_customization">התאמה אישית</string>
<string name="setting_add_shortcut_summary">הוסף קיצור דרך יפה במסך הבית למקרה שקשה לזהות את השם ואת הסמל לאחר הסתרת היישום</string>
<string name="settings_doh_title">DNS על HTTPS</string>
<string name="settings_doh_description">עקיפת DNS מורעל במדינות מסוימות</string>
<string name="multiuser_mode">מצב מרובה משתמשים</string>
<string name="settings_owner_only">בעל ההתקן בלבד</string>
<string name="settings_owner_manage">אחראי ניהול ההתקן</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">生体認証に対応していないか、有効化されていません</string>
<string name="settings_customization">カスタマイズ</string>
<string name="setting_add_shortcut_summary">アプリを隠した後に見つけられなくなったときは、ここでホーム画面にショートカットを追加できます</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">一部の国で DNS キャッシュポイズニングから守ります</string>
<string name="multiuser_mode">複数ユーザーモード</string>
<string name="settings_owner_only">端末の管理者のみ</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">შეუთავსებელი მოწყობილობა ან არასწორად დაყენებული ბიომეტრიკული პარამეტრები</string>
<string name="settings_customization">პერსონალიზაცია</string>
<string name="setting_add_shortcut_summary">ლამაზი ხატულის დამატება საწყისს ეკრანზე, იმ შემთხვევაში თუ აპის ამოცნობა არის რთული დამალვის შემდეგ</string>
<string name="settings_doh_title">DNS HTTPS-ზე</string>
<string name="settings_doh_description">DNS-ის ლიმიტების მოხსნა კონკრეტულ სახელმწიფოებში</string>
<string name="multiuser_mode">მრავალმომხმარებლიანი რეჟიმი</string>
<string name="settings_owner_only">მხოლოდ მოწყობილობის მფლობელი</string>

View File

@ -176,6 +176,8 @@
<string name="no_biometric">지원되지 않는 기기이거나 등록된 생체 정보가 없습니다.</string>
<string name="settings_customization">커스터마이즈</string>
<string name="setting_add_shortcut_summary">앱을 숨긴 후 아이콘과 이름을 알아보기 힘들 경우를 위해 알아보기 쉬운 바로가기를 홈 화면에 추가합니다.</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">일부 국가에 존재하는 DNS 포이즈닝을 해결합니다.</string>
<string name="multiuser_mode">다중 사용자 모드</string>
<string name="settings_owner_only">기기 소유자만</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">Ustøttet enhet, eller mangel på biometrisk oppsett</string>
<string name="settings_customization">Tilpasning</string>
<string name="setting_add_shortcut_summary">Legg til fin snarvei på hjemmeskjermen i fall navnet og ikonet er vanskelig å gjenkjenne etter skjuling av programmet</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">Unngåelse av DNS-forgiftelse i noen land</string>
<string name="multiuser_mode">Multibrukermodus</string>
<string name="settings_owner_only">Kun for enhetseier</string>

View File

@ -164,6 +164,8 @@
<string name="no_biometric">ਅਸਮਰਥਿਤ ਡਿਵਾਈਸ ਜਾਂ ਕੋਈ ਬਾਇਓਮੈਟ੍ਰਿਕ ਸੈਟਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ</string>
<string name="settings_customization">ਕਸਟਮਾਈਜੇਸ਼ਨ</string>
<string name="setting_add_shortcut_summary">ਐਪ ਨੂੰ ਲੁਕਾਉਣ ਤੋਂ ਬਾਅਦ ਨਾਮ ਅਤੇ ਆਈਕਾਨ ਨੂੰ ਪਛਾਣਨਾ ਮੁਸ਼ਕਲ ਹੈ, ਤਾਂ ਹੋਮ ਸਕ੍ਰੀਨ ਵਿਚ ਇਕ ਸੁੰਦਰ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਮਲ ਕਰੋ</string>
<string name="settings_doh_title">DNS ਉੱਤੇ HTTPS</string>
<string name="settings_doh_description">ਕੁਝ ਦੇਸ਼ਾਂ ਵਿੱਚ ਚੱਲ ਰਹੇ DNS ਵਿਸ਼ਾਕਤਤਾ ਦਾ ਹੱਲ</string>
<string name="multiuser_mode">ਮਲਟੀ ਯੂਜ਼ਰ ਮੋਡ</string>
<string name="settings_owner_only">ਸਿਰਫ ਡਿਵਾਈਸ ਮਾਲਕ</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">Urządzenie jest nieobsługiwane lub ustawienia biometryczne nie są włączone</string>
<string name="settings_customization">Personalizacja</string>
<string name="setting_add_shortcut_summary">Dodaj ładny skrót na ekranie głównym na wypadek, gdyby nazwa i ikona były trudne do rozpoznania po ukryciu aplikacji</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">Zapobiegaj zatruwaniu DNS (DNS poisoning) w niektórych krajach</string>
<string name="multiuser_mode">Tryb wielu użytkowników (Multiuser)</string>
<string name="settings_owner_only">Tylko właściciel urządzenia</string>

View File

@ -174,6 +174,8 @@
<string name="no_biometric">Dispositivo não suportado ou nenhuma configuração biométrica está ativada</string>
<string name="settings_customization">Personalizações</string>
<string name="setting_add_shortcut_summary">Adicione um atalho na tela inicial, caso o nome e o ícone sejam difíceis de reconhecer logo após ocultar o aplicativo</string>
<string name="settings_doh_title">DNS sobre HTTPS</string>
<string name="settings_doh_description">Solução alternativa para envenenamento de DNS em alguns países</string>
<string name="multiuser_mode">Modo multiusuário</string>
<string name="settings_owner_only">Somente proprietário do dispositivo</string>

View File

@ -180,6 +180,8 @@
<string name="no_biometric">Dispozitiv nesuportat sau nu sunt activate setări biometrice</string>
<string name="settings_customization">Personalizare</string>
<string name="setting_add_shortcut_summary">Adaugă o comandă rapidă frumoasă în ecranul de pornire în cazul în care numele și pictograma sunt dificil de recunoscut după ascunderea aplicației</string>
<string name="settings_doh_title">DNS prin HTTPS</string>
<string name="settings_doh_description">Soluție ocolitoare pentru poisoningul DNS în anumite țări</string>
<string name="multiuser_mode">Mod de multiutilizator</string>
<string name="settings_owner_only">Numai proprietarul dispozitivului</string>

View File

@ -182,6 +182,8 @@
<string name="no_biometric">Функция не поддерживается устройством или не заданы настройки блокировки экрана</string>
<string name="settings_customization">Персонализация</string>
<string name="setting_add_shortcut_summary">Добавить ярлык на рабочий стол для удобного восприятия приложения после скрытия</string>
<string name="settings_doh_title">Отключение DNS поверх HTTPS</string>
<string name="settings_doh_description">Отключает DoH (используйте при проблемах с подключением к сети)</string>
<string name="multiuser_mode">Многопользовательский режим</string>
<string name="settings_owner_only">Только администратор</string>

View File

@ -182,6 +182,8 @@
<string name="no_biometric">Nepodporované zariadenie alebo žiadne biometrické nastavenia nie sú povolené</string>
<string name="settings_customization">Prispôsobenie</string>
<string name="setting_add_shortcut_summary">V prípade, že sa po skrytí apky názov a ikona ťažko rozpoznávajú, pridať na domovskú obrazovku odkaz</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">Riešenie otravy DNS v niektorých krajinách</string>
<string name="multiuser_mode">Režim viacerých používateľov</string>
<string name="settings_owner_only">Iba majiteľ zariadenia</string>

View File

@ -182,6 +182,8 @@
<string name="no_biometric">Pajisja e pambështetur ose cilësimet biometrike nuk janë të aktivizuara</string>
<string name="settings_customization">Personalizimi</string>
<string name="setting_add_shortcut_summary">Shtoni një shkurtore mjaft të mirë në ekranin fillestar në rast se emri dhe ikona janë të vështira për tu njohur pasi keni fshehur aplikacionin</string>
<string name="settings_doh_title">DNS mbi HTTPS</string>
<string name="settings_doh_description">Helmimi i paqartë nga DNS në disa kombe</string>
<string name="multiuser_mode">Mënyra Multi-përdoruesit</string>
<string name="settings_owner_only">Vetëm pronari i paisjes</string>

View File

@ -172,6 +172,8 @@
<string name="no_biometric">Denna enhet stöds ej eller så är inte biometrisk autentisering aktiverad</string>
<string name="settings_customization">Anpassning</string>
<string name="setting_add_shortcut_summary">Lägg till en snygg genväg på startskärmen om namnet och ikonen är svåra att känna igen efter att appen har döljts</string>
<string name="settings_doh_title">DNS över HTTPS</string>
<string name="settings_doh_description">Lösning för DNS-förgiftning i vissa länder</string>
<string name="multiuser_mode">Multiuser-läge</string>
<string name="settings_owner_only">Endast enhetsägare</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">ஆதரிக்கப்படாத சாதனம் அல்லது பயோமெட்ரிக் அமைப்புகள் எதுவும் செயல்படுத்தப்படவில்லை</string>
<string name="settings_customization">தனிப்பயனாக்கம்</string>
<string name="setting_add_shortcut_summary">பயன்பாட்டை மறைத்தபின் பெயர் மற்றும் ஐகான் அடையாளம் காண கடினமாக இருந்தால் முகப்புத் திரையில் அழகான குறுக்குவழியைச் சேர்க்கவும்</string>
<string name="settings_doh_title">HTTPS வழியாக டி.என்.எஸ்</string>
<string name="settings_doh_description">சில நாடுகளில் டி.என்.எஸ் பணிபுரியும்</string>
<string name="multiuser_mode">மல்டியூசர் பயன்முறை</string>
<string name="settings_owner_only">சாதன உரிமையாளர் மட்டுமே</string>

View File

@ -173,6 +173,8 @@
<string name="no_biometric">Desteklenmeyen cihaz veya biyometrik ayar etkinleştirilmemiş</string>
<string name="settings_customization">Özelleştirme</string>
<string name="setting_add_shortcut_summary">Uygulamayı gizledikten sonra ismini ve simgesini tanımakta zorlanırsanız ana ekrana güzel bir kısayol ekleyebilirsiniz</string>
<string name="settings_doh_title">HTTPS üzerinden DNS</string>
<string name="settings_doh_description">Bazı ülkelerdeki DNS zehirlenmesini çözmeye çalışır</string>
<string name="multiuser_mode">Çoklu Kullanıcı Modu</string>
<string name="settings_owner_only">Yalnızca Cihaz Sahibi</string>

View File

@ -180,6 +180,8 @@
<string name="no_biometric">Пристрій не підтримується, або не налаштовано біометрику</string>
<string name="settings_customization">Оформлення</string>
<string name="setting_add_shortcut_summary">Додати ярлик на домашній екран для зручного сприйняття застосунку після його приховування</string>
<string name="settings_doh_title">DNS поверх HTTPS</string>
<string name="settings_doh_description">Відключити DoH (при нестабільному підключенні)</string>
<string name="multiuser_mode">Багатокористувацький режим</string>
<string name="settings_owner_only">Тільки власник</string>

View File

@ -182,6 +182,8 @@
<string name="no_biometric">设备不支持或未配置生物识别功能</string>
<string name="settings_customization">个性化</string>
<string name="setting_add_shortcut_summary">在隐藏后难以识别名称和图标的情况下,添加快捷方式到桌面</string>
<string name="settings_doh_title">安全 DNSDoH</string>
<string name="settings_doh_description">解决某些地区的 DNS 污染问题</string>
<string name="multiuser_mode">多用户模式</string>
<string name="settings_owner_only">仅设备所有者</string>

View File

@ -180,6 +180,8 @@
<string name="no_biometric">不支援的裝置或是未啟用生物特徵設定</string>
<string name="settings_customization">客製化</string>
<string name="setting_add_shortcut_summary">在隱藏應用程式後,名稱和圖示難以辨識的情況下,新增一個精緻的捷徑到首頁</string>
<string name="settings_doh_title">安全化的域名解析DoH</string>
<string name="settings_doh_description">解決某些地區的 DNS 汙染問題</string>
<string name="multiuser_mode">多重使用者模式</string>
<string name="settings_owner_only">僅限裝置擁有者</string>

View File

@ -183,6 +183,8 @@
<string name="no_biometric">Unsupported device or no biometric settings are enabled</string>
<string name="settings_customization">Customization</string>
<string name="setting_add_shortcut_summary">Add a pretty shortcut to the home screen in case the name and icon are difficult to recognize after hiding the app</string>
<string name="settings_doh_title">DNS over HTTPS</string>
<string name="settings_doh_description">Workaround DNS poisoning in some nations</string>
<string name="multiuser_mode">Multiuser Mode</string>
<string name="settings_owner_only">Device Owner Only</string>