2023-11-17 23:12:10 +08:00
|
|
|
//go:build android && cmfa
|
2023-11-17 01:19:20 +08:00
|
|
|
|
|
|
|
package dns
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/metacubex/mihomo/component/resolver"
|
|
|
|
)
|
|
|
|
|
2024-09-11 16:10:35 +08:00
|
|
|
var systemResolver []dnsClient
|
2023-11-17 01:19:20 +08:00
|
|
|
|
|
|
|
func FlushCacheWithDefaultResolver() {
|
2025-07-27 12:30:33 +08:00
|
|
|
resolver.ClearCache()
|
2024-09-27 20:09:35 +08:00
|
|
|
resolver.ResetConnection()
|
2023-11-17 01:19:20 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
func UpdateSystemDNS(addr []string) {
|
|
|
|
if len(addr) == 0 {
|
|
|
|
systemResolver = nil
|
|
|
|
}
|
|
|
|
|
|
|
|
ns := make([]NameServer, 0, len(addr))
|
|
|
|
for _, d := range addr {
|
|
|
|
ns = append(ns, NameServer{Addr: d})
|
|
|
|
}
|
|
|
|
|
2024-09-11 16:10:35 +08:00
|
|
|
systemResolver = transform(ns, nil)
|
2023-11-17 01:19:20 +08:00
|
|
|
}
|
|
|
|
|
2024-09-11 16:10:35 +08:00
|
|
|
func (c *systemClient) getDnsClients() ([]dnsClient, error) {
|
|
|
|
return systemResolver, nil
|
2023-11-17 01:19:20 +08:00
|
|
|
}
|
2024-09-27 20:09:35 +08:00
|
|
|
|
|
|
|
func (c *systemClient) ResetConnection() {
|
|
|
|
for _, r := range systemResolver {
|
|
|
|
r.ResetConnection()
|
|
|
|
}
|
|
|
|
}
|