DNS you own. Everywhere you go. — numa.rs A portable DNS resolver in a single binary. Block ads on any network, name your local services (frontend.numa), and override any hostname with auto-revert — all from your laptop, no cloud account or Raspberry Pi required. Built from scratch in Rust. Zero DNS libraries. RFC 1035 wire protocol parsed by hand. Caching, ad blocking, and local service domains out of the box. Optional recursive resolution from root nameservers with full DNSSEC chain-of-trust validation. One ~8MB binary, everything embedded. # macOS brew install razvandimescu/tap/numa # Linux curl -fsSL https://raw.githubusercontent.com/razvandimescu/numa/main/install.sh | sh # Windows — download from GitHub Releases # All platforms cargo install numa sudo numa # run in foreground (port 53 requires root/admin) Open the dashboard: http://numa.numa (or http://localhost:5380) Set as system DNS: Platform Install Uninstall macOS sudo numa install sudo numa uninstall Linux sudo numa install sudo numa uninstall Windows numa install (admin) + reboot numa uninstall (admin) + reboot On macOS and Linux, numa runs as a system service (launchd/systemd). On Windows, numa auto-starts on login via registry. Name your dev services instead of remembering port numbers: curl -X POST localhost:5380/services \ -d '{"name":"frontend","target_port":5173}' Now https://frontend.numa works in your browser — green lock, valid cert, WebSocket passthrough for HMR. No mkcert, no nginx, no /etc/hosts. Add path-based routing (app.numa/api → :5001), share services across machines via LAN discovery, or configure everything in numa.toml. 385K+ domains blocked via Hagezi Pro. Works on any network — coffee shops, hotels, airports. Travels with your laptop. Three resolution modes: forward (default) — transparent proxy to your existing system DNS. Everything works as before, just with caching and ad blocking on top. Captive portals, VPNs, corporate DNS — all respected. recursive — resolve directly from r...
First seen: 2026-04-02 13:59
Last seen: 2026-04-02 16:00