gitmyhub

FTL

C ★ 1.7k updated 1d ago

The Pi-hole FTL engine

The engine behind Pi-hole that blocks ads network-wide by intercepting DNS requests, built on top of dnsmasq, and provides dashboard statistics through an interactive API.

CdnsmasqLinuxsetup: moderatecomplexity 3/5

Pi-hole is a popular tool that blocks ads across every device on your home or office network — phones, laptops, smart TVs, everything — without needing to install separate ad blockers on each one. FTLDNS is the engine that makes it all work behind the scenes, handling the actual DNS requests (the lookup step that happens whenever a device tries to reach a website) and generating the statistics you see in the dashboard.

At a high level, it works by intercepting every request a device makes to load a website. If the requested domain is on a blocklist, the request is denied before it ever leaves your network. What makes this engine special is that it's built directly on top of an existing, well-tested DNS tool called dnsmasq, rather than being written from scratch. This means it can inherit all the reliability of that mature tool while adding the extra features Pi-hole needs, like tracking which sites were blocked and serving up that data through an interactive API.

The primary audience is anyone running Pi-hole on a Linux machine or a small device like a Raspberry Pi. If you've ever wanted to block ads on your smart TV, your phone, or an older tablet that can't run its own ad blocker, this is the layer that makes that possible. It's designed to be lightweight enough to run on minimal hardware, including the tiny Raspberry Pi Zero.

One important tradeoff to be aware of: because this engine essentially replaces dnsmasq, it will disable any existing copy of that tool already running on your machine. The two can't coexist. For most people this won't matter, but if you're already using dnsmasq for something else on the same device, you'll need to plan around that.

Where it fits