explaingit

adzza/guardium-dns

Analysis updated 2026-05-18

11PythonAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A free, self-hosted dashboard that adds family-friendly parental controls, schedules, and quotas on top of the Technitium DNS server.

Mindmap

mindmap
  root((Guardium DNS))
    What it does
      Adds parental controls to Technitium DNS
      Tracks devices by household member
      Enforces schedules and quotas
    Tech stack
      Python
      FastAPI
      Technitium DNS API
    Use cases
      Set bedtime and school hour rules
      Cap daily streaming or gaming time
      Pause internet for the whole family
    Audience
      Parents
      Home lab enthusiasts
    Optional integration
      ASUS router enforcement
      MAC based kill switch
      DoH blocklist

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Set up per family member device profiles like kids, no streaming, or no gaming.

USE CASE 2

Create bedtime, school hour, or homework mode schedules that automatically change what's blocked.

USE CASE 3

Set a daily quota for an app or category and have it auto block once the time is used.

USE CASE 4

Push extra enforcement into an ASUS router for devices that try to bypass DNS filtering.

What is it built with?

PythonFastAPITechnitium DNS

How does it compare?

adzza/guardium-dns2arons/llm-clian1x3r/anima-artist-mixer
Stars111111
LanguagePythonPythonPython
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencegeneraldeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires an existing Technitium DNS server, router-level features are tested only on one ASUS model.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Guardium DNS is a self hosted dashboard that adds parental control features on top of Technitium DNS, an existing open source DNS server that many home lab users already run. Instead of building a DNS filter from scratch, this project sits on top of one and gives it a friendly interface plus scheduling and device management features aimed at families rather than network engineers. The project is built by one parent who works in networking, as a free alternative to paid cloud based parental control subscriptions that see every website a household visits. Everything runs on the user's own hardware and network. It lets a parent create per device profiles such as unrestricted, kids, no streaming, no gaming, no YouTube, or fully blocked, and group multiple devices under one household member so the same rule applies to all of that person's devices at once. On top of profiles, it supports recurring schedules like bedtime or school hours, daily time quotas for things like video streaming, and a single button to pause internet access for everyone except adult devices. For more technical users, it also tracks devices by their network hardware address so a profile follows a device even if its local network address changes, and it tries to guess what kind of device something is, such as a smart TV or phone, from its network traffic patterns. Every minute, the dashboard checks its own state against Technitium and, if configured, the home router, and corrects any drift automatically. Guardium only talks to Technitium through its official web API and never edits its files directly, so upgrading or removing Guardium does not put the underlying DNS server at risk. An optional, more advanced layer can push additional enforcement into an ASUS home router, such as cutting a device off the network entirely or blocking encrypted DNS traffic that tries to bypass the filter, though this has only been tested on one specific ASUS router model so far. The project is explicitly early stage and warns that its behavior may change without notice, so it fits home lab enthusiasts and technically comfortable parents more than someone wanting a polished, finished product. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Help me set up Guardium DNS on top of my existing Technitium DNS server.
Prompt 2
Explain how per-person profiles and per-device rules work in Guardium DNS.
Prompt 3
Show me how to configure a bedtime schedule and a daily YouTube quota for one household member.
Prompt 4
Explain what the optional ASUS router integration adds beyond DNS-only filtering.
Prompt 5
Help me understand how Guardium's reconciler keeps its state in sync with Technitium.

Frequently asked questions

What is guardium-dns?

A free, self-hosted dashboard that adds family-friendly parental controls, schedules, and quotas on top of the Technitium DNS server.

What language is guardium-dns written in?

Mainly Python. The stack also includes Python, FastAPI, Technitium DNS.

What license does guardium-dns use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is guardium-dns to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is guardium-dns for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.