Run SmartDNS on a Raspberry Pi or OpenWrt router to automatically return the fastest server IP for any website on your network.
Block ads and malicious domains across your entire home network by loading filter lists into SmartDNS domain rules.
Set up per-device DNS policies so children's devices use a filtered DNS while adults' devices use a different rule set.
Enable encrypted DNS queries (DoH or DoT) for your whole home network without configuring each device individually.
Needs to run on a Linux system, Raspberry Pi, or OpenWrt router, and be configured as the upstream DNS for your network.
SmartDNS is a local DNS server you run on your home network or router. When your device needs to look up a website address, SmartDNS queries multiple upstream DNS servers at the same time, measures how fast it can actually reach each returned IP address, and gives your device the fastest one. This can noticeably speed up page loads compared to using a single DNS server, because different servers sometimes return different IP addresses that vary in response time and network distance. The server supports the main DNS transport protocols: standard UDP and TCP, as well as encrypted options including DNS-over-TLS, DNS-over-HTTPS, and DNS-over-QUIC. This lets SmartDNS communicate privately with upstream servers, protecting lookup requests from being read in transit. Beyond speed, SmartDNS can block ads and malware by letting you assign specific IP addresses to specific domain names. Its domain suffix matching engine handles 200,000 filter rules in under one millisecond. You can also route different categories of domains to different upstream servers, which is useful for networks with split DNS requirements or regional routing preferences. Control is available per device: you can apply different query rules to different clients on your network based on their MAC or IP address, making it straightforward to set up parental controls or per-device content filtering without separate hardware. SmartDNS runs on standard Linux (including Raspberry Pi), OpenWrt routers, Asus router firmware, and Windows via WSL. Installation packages for these platforms can be compiled from provided build scripts. The project is open source under the GPL v3 license.
← pymumu on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.