diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhDns.kt b/app/src/main/java/com/hippo/ehviewer/client/EhDns.kt index 14121cb44..aa10b5a0b 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhDns.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhDns.kt @@ -28,11 +28,9 @@ val systemDns = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) AsyncDns.toD object EhDns : Dns { override fun lookup(hostname: String): List = builtInHosts[hostname].takeIf { Settings.builtInHosts } ?: EhDoH.lookup(hostname) ?: systemDns.lookup(hostname) - - operator fun contains(hostname: String) = builtInHosts.contains(hostname) && Settings.builtInHosts } -private val builtInHosts = hostsDsl { +val builtInHosts = hostsDsl { // ip: String!, blockedByCCP: Boolean! hosts("ehgt.org", "gt0.ehgt.org", "gt1.ehgt.org", "gt2.ehgt.org", "gt3.ehgt.org") { "37.48.89.44" blockedInCN false diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhSSLSocketFactory.kt b/app/src/main/java/com/hippo/ehviewer/client/EhSSLSocketFactory.kt index dff197cc7..067895bce 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/EhSSLSocketFactory.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/EhSSLSocketFactory.kt @@ -18,6 +18,7 @@ package com.hippo.ehviewer.client import android.util.Log +import com.hippo.ehviewer.Settings import java.net.InetAddress import java.net.Socket import javax.net.ssl.SSLSocket @@ -36,7 +37,7 @@ object EhSSLSocketFactory : SSLSocketFactory() { } override fun createSocket(s: Socket, host: String, port: Int, autoClose: Boolean): Socket { - val address = s.inetAddress.hostAddress.takeIf { host in EhDns || EXCEPTIONAL_DOMAIN in host } + val address = s.inetAddress.hostAddress.takeIf { host in builtInHosts || EXCEPTIONAL_DOMAIN in host || host in Settings.dohUrl } val socket = sslSocketFactory.createSocket(s, address ?: host, port, autoClose) as SSLSocket val sslSession = socket.session Log.d(