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.

How it works

 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.

Step 1: Start in Monitor mode

  1. Open Security › Ad & tracker blocking.
  2. Press Monitor. If no list is chosen yet, Korthveil adds the StevenBlack list and turns on daily updates. The change is applied at once.
  3. Press Download lists now under Lists the first time.
Monitor mode with the counters and the live graph of lookups that would be blocked
Monitor mode with the counters and the live graph of lookups that would be blocked

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.

Step 2: Choose lists

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.

Lists by category: advertising, trackers, malware
Lists by category: advertising, trackers, malware
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.

Step 3: Exceptions

Exempt devices, always allow, always block
Exempt devices, always allow, always block

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

Step 4: See which devices ask for ads (optional)

Per-device view: a device, its matched lookups, and the names it asked for
Per-device view: a device, its matched lookups, and the names it asked for

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.

Step 5: Switch to Block

When Monitor shows only names you are happy to stop, press Block. Allow any site people need from Most matched names with Allow.

Most matched names with an Allow button
Most matched names with an Allow button

Check it works

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.

Limits