← Package directory
Available on winget

Install DNS Proxy

Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support

Install with winget
winget install --id AdGuard.dnsproxy
Upgrade
winget upgrade --id AdGuard.dnsproxy
Uninstall
winget uninstall --id AdGuard.dnsproxy

About DNS Proxy

Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support

What's new in 0.81.3

Security - Non-zero IDs are now set when using plain-DNS upstreams.

Read release notes

Version history

Version Updated Notes
0.81.3 Unknown Security - Non-zero IDs are now set when using plain-DNS upstreams.
0.81.2 Unknown Added - proxy.Config.DNSSECEnabled.
0.81.1 Unknown Fixed - Requests for root domain (.) incorrectly forwarded to unqualified-names-specific upstream, if configured in proxy.UpstreamConfig.
0.81.0 Unknown Added - proxy.Config.RequestContext. Changed - Added context for proxy.Handler, proxy.Proxy.Resolve.
0.80.0 Unknown Added - The command-line flags --doh-routes, --doh-insecure-enabled. - proxy.HTTPConfig and proxy.Config.HTTPConfig. Removed - proxy.BeforeRequestHandler, proxy.BeforeRequestError, and proxy.Config.BeforeRequestHandler....
0.79.0 Unknown Fixed - Issue with QUIC buffers (#484). Changed - package handler renamed to middleware. - proxy.RequestHandler renamed to proxy.Handler. Added - ratelimit package. - proxy.Middleware interface. - proxy.ErrDrop. Removed...
0.78.2 Unknown Changed - The version of Go updated to 1.25.5. Fixed - proxy.Config.CacheOptimisticAnswerTTL and proxy.Config.CacheOptimisticMaxAge were not set to default values again.
0.78.1 Unknown Fixed - proxy.Config.CacheOptimisticAnswerTTL and proxy.Config.CacheOptimisticMaxAge were not set to default values, as documented.
0.78.0 Unknown Added - proxy.Config.CacheOptimisticAnswerTTL and proxy.Config.CacheOptimisticMaxAge fields to control the behavior of the optimistic cache. Changed - upstream.QUICTraceFunc is now upstream.QUICTracer.
0.77.0 Unknown Changed - The function upstream.NewDefaultHostsResolver now expects context.Context. - The version of Go updated to 1.25.2.
0.76.2 Unknown Changed - The version of Go updated to 1.25.1.
0.76.1 Unknown Fixed - TTL override calculation.
0.76.0 Unknown Changed - quic-go update: fields QUICConnection and QUICStream of proxy.DNSContext type are now pointer to structs. Removed - The previously deprecated function fastip.NewFastestAddr.
0.75.6 Unknown Fixed - Opened listeners are now closed on failed start.
0.75.5 Unknown Changed - Improved logging. - Updated gonum dependency.
0.75.4 Unknown Fixed - The custom cache provided through DNSContext is now utilized even when the global cache is disabled.
0.75.3 Unknown Acknowledgements Special thanks to Xiang Li for reporting the vulnerability. Security - New configuration object PendingRequestsConfig for configuring the cache poisoning attack mitigation. By default, proxy.Proxy will n...
0.75.2 Unknown Added - New type BindRetryConfig for configuring listen addresses binding retry mechanism.
0.75.1 Unknown Changed - The minimum required version of Go has been increased to 1.24.
0.75.0 Unknown Added - The DNSContext.QueryStatistics method that returns the DNS query statistics for both the upstream and fallback DNS servers. Changed - Positional (non-flag) arguments now cause an error instead of being ignored. F...