From 8a55027f678e4949b22e96486946d1f5bd9c7075 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 (cherry picked from commit d8c8d7c58853c28adb36b2398b5bc65b6b1b9374) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt --- .../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 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"