Add ad blocking, live dashboard, and system DNS auto-discovery #2
Reference in New Issue
Block a user
Delete Branch "refs/pull/2/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What is Numa?
DNS you own. Everywhere you go.
A portable DNS resolver with ad blocking, developer overrides, and a live dashboard — in a single binary. No Raspberry Pi, no cloud account, no data leaving your machine.
Quick Start
Open http://localhost:5380 for the live dashboard.
Set Numa as your system DNS:
What's New
Ad Blocking
0.0.0.0for A queries,::for AAAA queriesLive Dashboard (
http://localhost:5380)System DNS Integration
numa install— saves current DNS for all network services, sets to127.0.0.1numa uninstall— restores original DNS from~/.numa/original-dns.jsonscutil --dnson macOS to find Tailscale/VPN forwarding rulesDeveloper Overrides
REST API (18 endpoints)
GET /POST/GET/DELETE /overrides,POST /overrides/environment,GET/DELETE /overrides/{domain}GET /blocking/stats,PUT /blocking/toggle,POST /blocking/pause,GET/POST /blocking/allowlist,DELETE /blocking/allowlist/{domain}GET /diagnose/{domain},GET /query-log,GET /statsGET/DELETE /cache,DELETE /cache/{domain}GET /healthPerformance
Also Included
How It Compares
numa install/uninstallTest Plan
cargo build && sudo cargo run— startup banner shows all infohttp://localhost:5380— dashboard loadsdig @127.0.0.1 ads.google.com→0.0.0.0(blocked)dig @127.0.0.1 google.com→ resolves normallynuma install— sets system DNS, saves backup to~/.numa/numa uninstall— restores original DNS, removes backupnuma help— shows usagemake allpasses (clippy + fmt)🤖 Generated with Claude Code