diff --git a/app/src/main/java/eu/kanade/tachiyomi/network/DohProviders.kt b/app/src/main/java/eu/kanade/tachiyomi/network/DohProviders.kt index f5f62643f..d73e45401 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/network/DohProviders.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/network/DohProviders.kt @@ -12,6 +12,7 @@ import java.net.InetAddress const val PREF_DOH_CLOUDFLARE = 1 const val PREF_DOH_GOOGLE = 2 const val PREF_DOH_ADGUARD = 3 +const val PREF_DOH_QUAD9 = 4 fun OkHttpClient.Builder.dohCloudflare() = dns( DnsOverHttps.Builder().client(build()) @@ -35,7 +36,9 @@ fun OkHttpClient.Builder.dohGoogle() = dns( .url("https://dns.google/dns-query".toHttpUrl()) .bootstrapDnsHosts( InetAddress.getByName("8.8.4.4"), - InetAddress.getByName("8.8.8.8") + InetAddress.getByName("8.8.8.8"), + InetAddress.getByName("2001:4860:4860::8888"), + InetAddress.getByName("2001:4860:4860::8844"), ) .build() ) @@ -52,3 +55,15 @@ fun OkHttpClient.Builder.dohAdGuard() = dns( ) .build() ) + +fun OkHttpClient.Builder.dohQuad9() = dns( + DnsOverHttps.Builder().client(build()) + .url("https://dns.quad9.net/dns-query".toHttpUrl()) + .bootstrapDnsHosts( + InetAddress.getByName("9.9.9.9"), + InetAddress.getByName("149.112.112.112"), + InetAddress.getByName("2620:fe::fe"), + InetAddress.getByName("2620:fe::9"), + ) + .build() +) diff --git a/app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt index 66b44fb2a..94ea9eed0 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt @@ -42,6 +42,7 @@ import java.util.concurrent.TimeUnit PREF_DOH_CLOUDFLARE -> builder.dohCloudflare() PREF_DOH_GOOGLE -> builder.dohGoogle() PREF_DOH_ADGUARD -> builder.dohAdGuard() + PREF_DOH_QUAD9 -> builder.dohAdGuard() } return builder diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt index da86c6dda..4c16b6d2b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt @@ -23,6 +23,7 @@ import eu.kanade.tachiyomi.network.NetworkHelper import eu.kanade.tachiyomi.network.PREF_DOH_ADGUARD import eu.kanade.tachiyomi.network.PREF_DOH_CLOUDFLARE import eu.kanade.tachiyomi.network.PREF_DOH_GOOGLE +import eu.kanade.tachiyomi.network.PREF_DOH_QUAD9 import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.source.SourceManager.Companion.DELEGATED_SOURCES import eu.kanade.tachiyomi.ui.base.controller.DialogController @@ -177,12 +178,14 @@ class SettingsAdvancedController : SettingsController() { "Cloudflare", "Google", "AdGuard", + "Quad9", ) entryValues = arrayOf( "-1", PREF_DOH_CLOUDFLARE.toString(), PREF_DOH_GOOGLE.toString(), PREF_DOH_ADGUARD.toString(), + PREF_DOH_QUAD9.toString(), ) defaultValue = "-1" summary = "%s"