Skip to content

Commit 7219425

Browse files
authored
Cloudflare DNS Hosts (#4661)
1 parent 51eabe5 commit 7219425

2 files changed

Lines changed: 22 additions & 18 deletions

File tree

V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,9 @@ object AppConfig {
168168
// Android Private DNS constants
169169
const val DNS_DNSPOD_DOMAIN = "dot.pub"
170170
const val DNS_ALIDNS_DOMAIN = "dns.alidns.com"
171-
const val DNS_CLOUDFLARE_DOMAIN = "one.one.one.one"
171+
const val DNS_CLOUDFLARE_ONE_DOMAIN = "one.one.one.one"
172+
const val DNS_CLOUDFLARE_DNS_COM_DOMAIN = "dns.cloudflare.com"
173+
const val DNS_CLOUDFLARE_DNS_DOMAIN = "cloudflare-dns.com"
172174
const val DNS_GOOGLE_DOMAIN = "dns.google"
173175
const val DNS_QUAD9_DOMAIN = "dns.quad9.net"
174176
const val DNS_YANDEX_DOMAIN = "common.dot.dns.yandex.net"
@@ -182,7 +184,9 @@ object AppConfig {
182184
const val HEADER_TYPE_HTTP = "http"
183185

184186
val DNS_ALIDNS_ADDRESSES = arrayListOf("223.5.5.5", "223.6.6.6", "2400:3200::1", "2400:3200:baba::1")
185-
val DNS_CLOUDFLARE_ADDRESSES = arrayListOf("1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001")
187+
val DNS_CLOUDFLARE_ONE_ADDRESSES = arrayListOf("1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001")
188+
val DNS_CLOUDFLARE_DNS_COM_ADDRESSES = arrayListOf("104.16.132.229", "104.16.133.229", "2606:4700::6810:84e5", "2606:4700::6810:85e5")
189+
val DNS_CLOUDFLARE_DNS_ADDRESSES = arrayListOf("104.16.248.249", "104.16.249.249", "2606:4700::6810:f8f9", "2606:4700::6810:f9f9")
186190
val DNS_DNSPOD_ADDRESSES = arrayListOf("1.12.12.12", "120.53.53.53")
187191
val DNS_GOOGLE_ADDRESSES = arrayListOf("8.8.8.8", "8.8.4.4", "2001:4860:4860::8888", "2001:4860:4860::8844")
188192
val DNS_QUAD9_ADDRESSES = arrayListOf("9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9")

V2rayNG/app/src/main/java/com/v2ray/ang/handler/V2rayConfigManager.kt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import com.v2ray.ang.dto.V2rayConfig.OutboundBean.StreamSettingsBean
1616
import com.v2ray.ang.dto.V2rayConfig.RoutingBean.RulesBean
1717
import com.v2ray.ang.extension.isNotNullEmpty
1818
import com.v2ray.ang.fmt.HttpFmt
19-
import com.v2ray.ang.fmt.Hysteria2Fmt
2019
import com.v2ray.ang.fmt.ShadowsocksFmt
2120
import com.v2ray.ang.fmt.SocksFmt
2221
import com.v2ray.ang.fmt.TrojanFmt
@@ -479,20 +478,6 @@ object V2rayConfigManager {
479478
)
480479
}
481480

482-
//User DNS hosts
483-
try {
484-
val userHosts = MmkvManager.decodeSettingsString(AppConfig.PREF_DNS_HOSTS)
485-
if (userHosts.isNotNullEmpty()) {
486-
var userHostsMap = userHosts?.split(",")
487-
?.filter { it.isNotEmpty() }
488-
?.filter { it.contains(":") }
489-
?.associate { it.split(":").let { (k, v) -> k to v } }
490-
if (userHostsMap != null) hosts.putAll(userHostsMap)
491-
}
492-
} catch (e: Exception) {
493-
Log.e(AppConfig.TAG, "Failed to configure user DNS hosts", e)
494-
}
495-
496481
//block dns
497482
val blkDomain = getUserRule2Domain(AppConfig.TAG_BLOCKED)
498483
if (blkDomain.isNotEmpty()) {
@@ -504,12 +489,27 @@ object V2rayConfigManager {
504489

505490
// hardcode popular Android Private DNS rule to fix localhost DNS problem
506491
hosts[AppConfig.DNS_ALIDNS_DOMAIN] = AppConfig.DNS_ALIDNS_ADDRESSES
507-
hosts[AppConfig.DNS_CLOUDFLARE_DOMAIN] = AppConfig.DNS_CLOUDFLARE_ADDRESSES
492+
hosts[AppConfig.DNS_CLOUDFLARE_ONE_DOMAIN] = AppConfig.DNS_CLOUDFLARE_ONE_ADDRESSES
493+
hosts[AppConfig.DNS_CLOUDFLARE_DNS_COM_DOMAIN] = AppConfig.DNS_CLOUDFLARE_DNS_COM_ADDRESSES
494+
hosts[AppConfig.DNS_CLOUDFLARE_DNS_DOMAIN] = AppConfig.DNS_CLOUDFLARE_DNS_ADDRESSES
508495
hosts[AppConfig.DNS_DNSPOD_DOMAIN] = AppConfig.DNS_DNSPOD_ADDRESSES
509496
hosts[AppConfig.DNS_GOOGLE_DOMAIN] = AppConfig.DNS_GOOGLE_ADDRESSES
510497
hosts[AppConfig.DNS_QUAD9_DOMAIN] = AppConfig.DNS_QUAD9_ADDRESSES
511498
hosts[AppConfig.DNS_YANDEX_DOMAIN] = AppConfig.DNS_YANDEX_ADDRESSES
512499

500+
//User DNS hosts
501+
try {
502+
val userHosts = MmkvManager.decodeSettingsString(AppConfig.PREF_DNS_HOSTS)
503+
if (userHosts.isNotNullEmpty()) {
504+
var userHostsMap = userHosts?.split(",")
505+
?.filter { it.isNotEmpty() }
506+
?.filter { it.contains(":") }
507+
?.associate { it.split(":").let { (k, v) -> k to v } }
508+
if (userHostsMap != null) hosts.putAll(userHostsMap)
509+
}
510+
} catch (e: Exception) {
511+
Log.e(AppConfig.TAG, "Failed to configure user DNS hosts", e)
512+
}
513513

514514
// DNS dns
515515
v2rayConfig.dns = V2rayConfig.DnsBean(

0 commit comments

Comments
 (0)