opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

AdGuard Home: a network-wide DNS server that blocks ads and trackers for all you...
GitHub RepoImpressions1

Project Description

View on GitHub

Stop Fighting Ads on Every Device — Block Them at the DNS Level

You know the drill: you install an ad blocker on your laptop, another on your phone, maybe one on your tablet. Then a friend visits with their device, and suddenly your network is serving ads to a machine you have zero control over. It's a losing battle. What if you could block ads and trackers for every device on your network — without installing anything on any of them? That's exactly what AdGuard Home does.

AdGuard Home is a free, open-source, network-wide DNS server that blocks ads and trackers before they ever reach your devices. Point your router at it, and it acts as a "black hole" for tracking domains, covering everything on your network — smart TVs, game consoles, IoT gadgets, the works.

What It Does

At its core, AdGuard Home is a DNS server. When a device on your network tries to resolve a domain, AdGuard Home checks it against blocklists and, if it's a known ad or tracker domain, re-routes it to a dead end instead of the real server. Your devices never connect to those tracking servers in the first place, so there's nothing to clean up afterward.

The project is written in Go, and it's built on the same codebase that powers AdGuard's public DNS servers (AdGuard DNS). They share a lot of code, which means the filtering logic you get locally is battle-tested at scale. You don't need client-side software on any device — the blocking happens entirely at the network level.

The README positions it as a "privacy protection center for you and your devices." That's a fair description. It's not just about hiding banner ads; it's about preventing your devices from phoning home to trackers in the first place.

Why It's Cool

The most compelling thing about AdGuard Home is the shift in where blocking happens. Traditional ad blockers are browser extensions or apps — they work per-device, per-browser. AdGuard Home flips that model entirely.

  • One setup, all devices covered. Install it once on a server or Raspberry Pi, point your router's DNS at it, and every device on your network is protected. Your smart TV, your roommate's laptop, your guest's phone — all covered without them doing anything.
  • No client software needed. This is huge for devices you can't install anything on. Game consoles, smart home hubs, streaming sticks — they all respect DNS, so they all get filtered.
  • It's the same tech as a public service. Since it shares code with AdGuard's public DNS servers, you're running something that's already proven in production. That's a strong vote of confidence.
  • Multiple install methods. The README shows one-line installers for curl, wget, and fetch, covering Linux, Unix, macOS, FreeBSD, and OpenBSD. There's also a Docker image (over 100 million pulls, per the badge) and a Snap package. You've got options.
  • It's open source with a real community. The repo links to a wiki, Reddit, Twitter, and Telegram. There's a code coverage badge and a Go Report Card score, which suggests the project takes code quality seriously.

Compared to something like Pi-hole, AdGuard Home is a similar concept but with a different implementation — it's a standalone DNS server rather than a set of scripts layered on top of a DNS forwarder. And unlike public DNS-based blockers, you're not sending your DNS queries to a third party; you control the whole thing.

How to Try It

The quickest way to get started is the automated installer. On Linux, macOS, or a BSD, run this:

curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

If you prefer wget:

wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

Or with fetch (for FreeBSD/OpenBSD):

fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

After installation, you'll need to configure your router to use the AdGuard Home machine as its DNS server. The exact steps depend on your router, but the project's wiki has guides to walk you through it. There's also an API if you want to automate configuration or integrate it with other tools.

You can find the full README, releases, and source code on the GitHub repository.

Final Thoughts

AdGuard Home is best for anyone who wants network-wide ad and tracker blocking without managing client software across a fleet of devices. If you've got a spare Raspberry Pi or a small server, this is a genuinely useful way to put it to work. It's not going to replace your browser's ad blocker entirely — some sites break with DNS-level blocking, and the README notes known limitations — but as a baseline layer of privacy protection for your whole network, it's hard to beat.

The fact that it's open source, written in Go, and shares code with a production public DNS service means you're not betting on a hobby project. It's a solid, practical tool that solves a real problem. Set it up once, and you might forget it's there — which is exactly the point.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: ee20a4e8-a6c7-40b1-8c33-fad6f022ad20Last updated: August 26, 2026 at 07:59 AM