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
This commit is contained in:
OncePunchedMan 2022-02-12 23:15:53 +01:00 committed by Jobobby04
parent 76e3f0e5cb
commit 8a55027f67
3 changed files with 20 additions and 1 deletions

View File

@ -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()
)

View File

@ -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

View File

@ -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"