Whole home · DNS

Block ads on every device in your home, from your PC

Your PC becomes the DNS ad blocker for your TV, console and phones: set each device’s DNS to it once, and ad and tracking servers stop answering them. One free program, no Raspberry Pi needed. The PC has to stay on.

  • Free
  • No account
  • Windows and Linux
  • One setting per device

How it works

Every device asks for names first. That’s where ads stop.

Before it connects to anything, a device asks a DNS server for the address of each name: the video, the app, and the ad server next to them. AdHole’s DNS filter answers “nowhere” for ad and tracking domains, and passes every other question on.

By default it passes them to Cloudflare over an encrypted connection: as long as it answers in time, your internet provider doesn’t see the names of the sites you open, but Cloudflare does. You can change resolver.

If every encrypted resolver goes down, or takes more than three seconds, AdHole asks in the clear instead, for as long as the outage lasts, rather than leave the PC and your devices without internet: first Cloudflare at 1.1.1.1, the last resolver in the default list, then your router if that fails too. Your internet provider sees those names again. Filtering carries on in the meantime, and AdHole goes back to encrypted once an encrypted resolver answers again.

The lists behind it are well-known public filter lists (AdGuard, HaGeZi), refreshed once a day. Each one can be switched off in one click.

Names that only exist at home, like your router’s page or a printer, keep working: AdHole sends them to your router, which it finds on its own and follows when the network changes.

Router internet
This computer AdHole · DNS filter
  • TV
  • Console
  • Phone
Each device’s DNS is set by hand, once, to this computer.

No Raspberry Pi needed

The PC you already have does the job.

  • AdHole runs on Windows (64-bit) and on Linux with systemd. Install it on a PC at home and that PC becomes the DNS filter.
  • On that PC it goes further than a DNS filter can: it removes YouTube video ads and rejects cookie banners in its browsers.
  • The trade-off: the PC must stay on for the devices that go through it. If you’d rather not leave one on, the same program runs on a Raspberry Pi 4 or 5. AdHole on Linux and Raspberry Pi

Your devices

One setting per device, a couple of minutes each.

AdHole doesn’t change your devices’ settings for you. You do it once, on each one.

  1. Find this PC’s address.

    The dashboard shows it as “this computer’s address”, and adhole status prints it too.

  2. Reserve it in your router.

    In your router’s settings, reserve this address for the PC, so it never changes. It’s often called a DHCP reservation or a static lease; the menu names vary by router.

  3. On Windows, set the network to Private.

    Otherwise the firewall keeps your devices out. Settings → Network & internet → Wi-Fi or Ethernet → your network → Network profile type → Private network.

  4. Set each device’s DNS to that address.

    In the device’s network settings. Samsung and LG TVs, Android TV and Google TV, PS5, Xbox, iPhone, Android: the step-by-step guide.

  5. Check it in the dashboard.

    Use the device for a minute: its requests show up in the dashboard, blocked ones included. If nothing shows up, the device is still asking your router, often through IPv6: see below.

The router trap

Why your router’s own DNS setting may not be enough.

The usual advice is to hand out your PC as the DNS server from your router, for every device at once. We tried it on a Bbox, a router from the French provider Bouygues Telecom, on 12 September 2026. It didn’t work, for two reasons.

The router added the PC, it didn’t replace itself
Its own address stayed as the first DNS, locked, and the PC came second. A device asks the first server that answers, and the router always answers: the filter would almost never be asked, while looking set up.
The router announces its own DNS over IPv6
Devices prefer IPv6, and nothing in that router’s interface changes the announcement. Even a correct DNS setting in IPv4 would be bypassed.

Your router may behave differently: the dashboard tells you, since a device that uses AdHole shows up there. What gets around both traps is the DNS entered on each device. To cover the whole home without touching each one, you need a router you control, such as one running OpenWrt, behind your provider’s: it can hand out a single DNS and stop the IPv6 announcement.

What it blocks

What changes on a TV or a console, and what doesn’t.

Through DNS, a device loses the ads and trackers served from ad servers, in every app. The slot of a removed ad may stay empty. YouTube is the exception: its ads come from the same servers as the video.

What each filter removes
What On this computer This computer TV, console, phone (DNS pointed to the computer) TV, console, phone Android phone with the app Android phone
Ads and trackers served from ad servers Yes Yes Yes
Ad slots inside web pages Hidden No: the slot may stay empty Hidden in browsers, with the certificate
Ads inside apps not applicable Partly: what comes from an ad network Partly: what comes from an ad network, never inside the app
YouTube video ads Yes, in the browser No In the browser, with the certificate; never in the YouTube app
Cookie banners Rejected, when the site offers “reject all” No Rejected in browsers, with the certificate, when the site offers it
TV home-screen ads not applicable Partly not applicable
Twitch, Netflix, Prime Video ad tiers No No No
“Accept or pay” consent walls Removal off by default No Removal off by default
Paywalls (subscriber-only content) Never removed Never removed Never removed

No blocker stops every ad. Some will get through, and a site may occasionally look broken: one line in the dashboard, to allow that site, usually fixes it.

The cost

Your PC must stay on, or use a Raspberry Pi.

  • Devices pointed at this PC lose internet access when it’s off or asleep, or while AdHole is stopped. That’s the real cost of this method.
  • Updates install at night, between 3 and 5 a.m.: filtering pauses while one installs (the terms of use allow for about thirty seconds), and those devices have no DNS meanwhile.
  • If AdHole crashes, it restarts on its own: in 1 s on Windows, 5 s on Linux.
  • This PC keeps your router behind AdHole as a fallback. The devices you pointed at it only have the address you gave them.
  • To undo it on a device, set its DNS back to automatic.

Local only

It answers your home network, and nobody else.

The filter answers local addresses only: private networks such as 192.168.x.x and 10.x.x.x, link-local addresses, and the shared 100.64.0.0/10 range. Any other address gets a refusal, so AdHole never becomes an open resolver on the internet.

On Windows, the firewall opens its ports to the local network only, on private and domain networks. On Linux, the ufw or firewalld rules open port 53 to your local network only.

Download

One program. Nothing else to install.

Windows, Linux or Android — a PC, a Raspberry Pi, a phone. No Java, .NET or Python to install. On a computer, installing requires administrator rights.

Windows

64-bit · x64

Download the installer

adhole-setup-1.5.8.exe · 9.8 MB

Version
1.5.8
Date
2026-09-25
Size
9.8 MB
SHA-256
38f4673ff670f236579b3bc06560ea07f147124ff2f2c9279c8d89eee153c6c5

Good to know

The installer isn’t signed. Windows shows “Windows protected your PC”: click “More info”, then “Run anyway”. Check the SHA-256 first, in PowerShell:

Get-FileHash .\adhole-setup-1.5.8.exe

The installer shows the terms of use, in English or French, before it changes anything. Please read them.

Firefox needs one extra setting: in about:config, set security.enterprise_roots.enabled to true.

Linux

systemd · amd64 · arm64

PC (amd64)

adhole-1.5.8-linux-amd64.tar.gz · 5.3 MB

Raspberry Pi 4 and 5 (arm64)

adhole-1.5.8-linux-arm64.tar.gz · 4.8 MB

Version
1.5.8
Date
2026-09-25
SHA-256 · amd64
92e29b66539b2c5162ea4a637130557baa8b465a3e9e0f532edd1c674009c5d8
SHA-256 · arm64
5c918b09dba256208edae567e60aeaa84580630fd71473b8e64ea3cef07edfd7

In a terminal opened in your desktop session:

tar xzf adhole-1.5.8-linux-amd64.tar.gzcd adhole-1.5.8-linux-amd64sudo ./adhole setup
  • On a Raspberry Pi, take the arm64 archive and replace amd64 with arm64.
  • setup shows where the terms of use are. Read them, then type yes to accept and install.
  • You need a distribution with systemd: Ubuntu, Debian, Fedora, Arch, Mint, Raspberry Pi OS… Without systemd, sudo ./adhole run runs AdHole in the foreground.
  • The proxy is set automatically under GNOME and KDE. On other desktops, set the proxy auto-configuration URL to http://127.0.0.1:8053/proxy.pac yourself.
  • If setup says certutil is missing, install libnss3-tools (Debian, Ubuntu, Mint) or nss-tools (Fedora), then run sudo adhole setup again.

Android

Android 8.0 or newer · APK

Download the APK

adhole-1.5.8.apk · 54.1 MB

Version
1.5.8
Date
2026-09-25
Size
54.1 MB
SHA-256
1f9649765b9d6bfb30b524c8264bb56a38254df93dd4ff59efd11094536d3ccd

Good to know

Not on Google Play: you install the file yourself. Android asks you once to allow your browser to install apps, then you open the file.

The app shows its terms of use the first time it opens, and starts filtering only once you accept them.

Domain names for every app; and, once you install its certificate, the pages in your browsers. Never inside other apps: the ads in the YouTube app stay, and a blocked rewarded ad pays no reward.

The same file installs on an Android TV box that accepts manual installs.

Installing on Android, step by step

Every file has a SHA-256 checksum, published in the SHA256SUMS file. On Linux: sha256sum -c SHA256SUMS --ignore-missing.

Questions

What people ask about the whole home.

Does it protect my TV, console and phones?

Yes, once you set their DNS to the computer’s address in their network settings. They then lose the ads and trackers served from ad servers, but not YouTube’s. The computer must stay on, and on Windows its network must be set to Private. An Android phone has a second way: install the app on it, and it is filtered wherever it goes.

Does AdHole remove YouTube ads?

On the computer where it’s installed, yes: in your browser, videos start without ads. On a TV, a console or in the YouTube app on your phone, no: there, ads come from the same servers as the video, and nothing on the network can tell them apart. An Android phone with the app is a third case: in its browsers, once page cleaning is on and the root certificate is installed, YouTube video ads go the way they do on a computer — but not in the YouTube app.

What happens if AdHole crashes?

Your pages keep opening, unfiltered, and the service restarts on its own. Only a connection running at that moment (a download, a video call) is cut.

Is it available for Mac?

No. AdHole runs on Windows and Linux computers, and on Android phones and TV boxes. It isn’t offered for Mac.

What does AdHole send to the publisher?

An anonymous statistic, sent with the version check: on a computer at each start and then once a day, on Android only when you check for updates yourself. It holds a random number replaced every month, the version, the system, and the number of requests blocked since the previous check — a plain number, which feeds the total shown on this site. Nothing about your browsing: no domain name, no address, no date. No IP address is stored. One switch in the settings turns it off; on Android, a check you ask for still gives the version and the system.

Is AdHole really free? Do I need an account?

Yes, it’s free, and no, there’s no account. There’s nothing to pay, no ads in the app, and no data asked in return.