What Is FTLDNS™?
In a sentence, FTLDNS™ is
dnsmasq blended with Pi-hole’s special sauce. We bring the two pieces of software closer together while maintaining maximum compatibility with any updates Simon adds to
We have used
dnsmasq as our DNS/DHCP server since Pi-hole began. However, as the project has grown and evolved, we reached a point where we started looking into providing our own powerful resolver for a few reasons:
- With FTL, we generate a variety of statistics by interpreting
dnsmasq‘s log file. While this works, doing it through a middleman (a log file) is obviously quite inefficient
- If a user chooses to disable logging, we’re unable to compute any statistics at all
- There are some details of the DNS server we do not have access to (like cache usage) through the log file alone
- Each OS distribution provides a different version of
dnsmasqand this can prevent users for getting a flawless Pi-hole experience
All these problems lead us to the idea of actually integrating a DNS resolver directly into FTL. The obvious choice for this is, of course, to base it on
dnsmasq. We have a proof-of-concept implementation of FTL already developed and running. So we’re officially announcing FTLDNS™ and you can find it right here.
One of the many ways to support us is purchasing from our Swag Store. Get your hands on this sweet mug to help spread the word.
The Non-technical Details
FTLDNS has many benefits for you as user:
- No more
dnsmasqversion compatibility issues since we develop and provide the DNS resolver and FTL together
- Upstream updates to
dnsmasqcan easily be integrated into our code since we don’t modify its code heavily
- Processing will be much faster since we interact directly with the resolver instead of periodically parsing a log file
- We can provide stats on cache usage and probably much more, which has been previously unavailable
- Due to the direct integration into the resolver (using “FTL hooks”), we can compute statistics without any need for a log file. Instead of a “must have”, the log file will become an “opt-in” feature!