Gemini Executive Synthesis
A custom DNS resolver built in Rust, offering features like auto-generated TLS certs, WebSocket passthrough, and path routing for local development.
Technical Positioning
A simplified, integrated local development environment solution, replacing multiple tools (mkcert, nginx, /etc/hosts) with a single DNS resolver for custom domain mapping, TLS, and routing.
SaaS Insight & Market Implications
This custom DNS resolver addresses a significant developer pain point: the complexity and fragmentation of local development environments. Managing custom domains, TLS certificates, and routing often involves multiple tools (mkcert, nginx, /etc/hosts), leading to configuration overhead and potential conflicts. By consolidating these functionalities into a single Rust-based resolver, the author offers a streamlined, 'no-fuss' solution. This targets developers and teams seeking to simplify their local setup, improve consistency, and accelerate development cycles. The market implication is a demand for integrated, opinionated tooling that reduces cognitive load and setup time, particularly in microservices or complex frontend/backend development scenarios. The 'from scratch' aspect suggests control and potential for deep customization.
Proprietary Technical Taxonomy
Raw Developer Origin & Technical Request
Hacker News
Apr 2, 2026
Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries
I built a DNS resolver that lets me use frontend.numa instead of localhost:5173
— auto-generated TLS certs, WebSocket passthrough, path routing. No mkcert, no nginx, no /etc/hosts.
Developer Debate & Comments
It's neither here nor there but can I ask about the name? I only ask because when I see "numa" in relation to computing I immediately think "Non-Uniform Memory Access".Very cool project by the way. I wonder how this would run on an OpenWRT device.I see in your install.sh that you support Linux and Darwin/MacOS, do you think there would be any major hurdles in supporting FreeBSD?
Nice idea. To test I ran a simple nextjs on port 3000. Added the service via the dashboard. However, when I visit the url, (using chrome latest version), https://{mygivenname}.numa/ I hit a DNS resolution fail error. If I do not use a trailing '/' then it is going to google search for {mygivenname}.numa and shows me some search results. Should I open an issue?
this is really clean. the auto-TLS for local dev is the killer feature imo, so many hours wasted fighting mkcert and nginx configs. do you plan to support docker/container networking? being able to resolve service names across docker compose setups would make this a no-brainer for teams.
feature request: libnuma so i can use it programmatically with configuration. also, multiple user defined blocklists.
Same hack here ; I have no DSN running by default - much more handy than having to set up nginx as it has no opinion on the targeted infrastructure. And the bonus point is that you can see every sneaky request that happens when you browse ; so another side-project connected to this is to make an inventory and policy filter
very interesting. how does the blocklist work? can one manage the lists? like StevenBlack or others.
I think I need to give this a go. Cool project.
Cool idea, every developer running apps in dev on their machine knows this pain for sure. I'll give it a spin and let you know how it goes!
Since I needed it to be my primary DNS, I also added: recursive resolution from root nameservers, DNSSEC chain-of-trust validation, ad blocking (385K+ domains), and LAN service discovery.I wrote about the DNSSEC implementation here: https://numa.rs/blog/posts/dnssec-from-scratch.html It's now my daily system DNS. Single binary (~8MB), macOS/Linux/Windows.`sudo numa install`
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like Rust and DNS resolver by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
Market Trends