SmartDNS is a local DNS server that returns the fastest-responding IP address for a queried domain to improve network access speed, with support for DoT, DoH, DoQ, and DoH3.
The tool solves the problem of DNS resolvers returning suboptimal IP addresses by querying multiple upstream DNS servers simultaneously and measuring response times to identify which IP provides the fastest access. Unlike DNSmasq's all-servers mode, which returns all results, SmartDNS selects only the fastest one. It also supports domain-specific IP assignment for ad filtering and malicious site blocking, with high-performance suffix matching capable of filtering 200,000 records in under 1 millisecond. The tool protects privacy through encrypted DNS protocols and enables domain-based traffic splitting to route different domain types to different resolvers.
SmartDNS suits users running local DNS infrastructure on routers, Raspberry Pi systems, or Linux machines who want to optimize DNS resolution speed for their network. It works on OpenWrt, standard Linux distributions, Asus router firmware, and Windows via WSL. The tool supports per-client control based on MAC or IP address, enabling features like parental controls. It handles both IPv4 and IPv6 with dual-stack optimization and includes DNS64 conversion support. Those choosing this over alternatives should note that it differs from DNSmasq by prioritizing speed rather than returning all available results.
The project maintains active development with regular updates addressing new DNS protocols and platform support. Code contributions flow steadily with attention to performance optimization and feature expansion. The maintainer responds to issues and incorporates community feedback into releases. Development focuses on extending protocol support and improving integration with modern routing systems and Linux networking tools like nftables.