From 4865a73b5fc8338ca5e64c0409df960a21ee2c76 Mon Sep 17 00:00:00 2001 From: samosvalishe Date: Sat, 19 Sep 2026 23:54:42 +0300 Subject: [PATCH] =?UTF-8?q?fix(dns):=20=D1=81=D0=B1=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D1=82=D1=8C=20udp-=D1=80=D0=B5=D0=B7=D0=BE?= =?UTF-8?q?=D0=BB=D0=B2=D0=B5=D1=80=D1=8B,=20=D0=B5=D1=81=D0=BB=D0=B8=20?= =?UTF-8?q?=D1=81=D0=B5=D1=81=D1=81=D0=B8=D1=8F=20=D0=B8=D1=85=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Глобальный список переживал сессию, и следующая наследовала резолверы прошлой сессии или сети. --- internal/client/dnsdial/doh.go | 4 +++- internal/session/session.go | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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)