From d8c8d7c58853c28adb36b2398b5bc65b6b1b9374 Mon Sep 17 00:00:00 2001 From: OncePunchedMan <64155117+OncePunchedMan@users.noreply.github.com> Date: Sat, 12 Feb 2022 23:15:53 +0100 Subject: [PATCH] Add Quad9 DOH provider (#6638) * add quad9 as new doh provider * add ipv6 addresses to google doh * revert changes to import --- .../eu/kanade/tachiyomi/network/DohProviders.kt | 17 ++++++++++++++++- .../kanade/tachiyomi/network/NetworkHelper.kt | 1 + .../ui/setting/SettingsAdvancedController.kt | 3 +++ 3 files changed, 20 insertions(+), 1 deletion(-) 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 f5f62643f7..d73e45401f 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 c851471965..0e522455fd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt @@ -41,6 +41,7 @@ class NetworkHelper(context: Context) { 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 86930a1010..dd873bcfa1 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 @@ -18,6 +18,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.ui.base.controller.openInBrowser import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction import eu.kanade.tachiyomi.ui.setting.database.ClearDatabaseController @@ -168,12 +169,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"