diff --git a/internal/client/dnsdial/doh.go b/internal/client/dnsdial/doh.go index af5ae84..2393ede 100644 --- a/internal/client/dnsdial/doh.go +++ b/internal/client/dnsdial/doh.go @@ -345,7 +345,9 @@ const ( var udpDNSServersPtr atomic.Pointer[[]string] -func init() { +func init() { ResetUDPDNSServers() } + +func ResetUDPDNSServers() { def := []string{ "77.88.8.8:53", "77.88.8.1:53", "8.8.8.8:53", "8.8.4.4:53", diff --git a/internal/session/session.go b/internal/session/session.go index 5d432fb..aac72c2 100644 --- a/internal/session/session.go +++ b/internal/session/session.go @@ -187,9 +187,12 @@ func (s *Session) Run(ctx context.Context) (err error) { log := s.deps.Logger dnsdial.SetLogger(log) - if s.cfg.DNS.Servers != nil { + + if len(s.cfg.DNS.Servers) > 0 { dnsdial.SetUDPDNSServers(s.cfg.DNS.Servers) log.Infof("[DNS] using custom UDP servers: %v", s.cfg.DNS.Servers) + } else { + dnsdial.ResetUDPDNSServers() } appDialer := dnsdial.AppDialer(s.cfg.DNS.Mode) dnsdial.InstallGlobalResolver(s.cfg.DNS.Mode)