Korthveil can stop advertising, tracking, and malware names for every device that uses it as its DNS server: phones, TVs, consoles and laptops, with nothing installed on them. On Security › Ad & tracker blocking you choose:
You can exempt devices, always allow or always block sites, and turn on a per-device view that shows which devices ask for ad and tracker names.
What you need:
The screenshots come from a test firewall whose LAN is 192.168.50.0/24 and fd4b:5652:50::/64.
phone asks for ads.example ──▶ Korthveil DNS resolver
│ exempt device? ──yes──▶ answer normally
│ on a list? ──no───▶ answer normally
│ Monitor: answer normally, record the match
└ Block: answer "does not exist", record the match
Lists are downloaded by the firewall from their publishers and kept in its database. A listed name also covers its subdomains. Everything works the same for IPv4 and IPv6 devices.
Quicker: System › Wizards › DNS filtering and ad blocking sets up the resolver, the lists, Monitor mode, and DHCP in four steps. The steps below do the same by hand and explain each part.

The graph shows matching lookups per second. Would be blocked counts them since the resolver started. Let it run for a day: the Most matched names and the per-device view (step 4) show what would change.
Lists are grouped by what they block. Press Add next to a suggested list, switch a list off with its checkbox, or remove it with the bin. Each suggestion shows its size and licence.

| Category | Suggested list | Good for |
|---|---|---|
| Advertising | StevenBlack unified hosts, OISD small | Ads with few false positives |
| Trackers and telemetry | EasyPrivacy (firebog) | Analytics and tracking |
| Malware and phishing | URLhaus malware hosts | Sites serving malware, updated often |
More lists help less than you might expect, and each one adds a chance of blocking something people need. Start with one advertising list and add trackers and malware when Monitor looks clean. Lists by URL, the block answer (does not exist or 0.0.0.0), and update times are on Network › DNS resolver.

Press Save exceptions. If you have other unsaved changes in the console, the page saves this change with them and asks you to commit.

The per-device view is off by default. When it is on, Korthveil keeps each device's address with the ad and tracker names it asked for, in the firewall's database. Turn it on with the switch on Per device. Then:
Only blocklist matches are kept, never other lookups. If your workplace or country requires it, tell people on the network before you turn this on.
When Monitor shows only names you are happy to stop, press Block. Allow any site people need from Most matched names with Allow.

From a device on the network:
nslookup doubleclick.net
In Block mode the answer is "Non-existent domain" (or 0.0.0.0 with the null answer). In Monitor mode you get a real address, and the name shows up under Most matched names within a minute.