Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries
github.com
github.com
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`
5 minutes ago | parent | next | edit | delete
You're right about em dashes of course (https://news.ycombinator.com/item?id=47154752) but being right on a point does not make it ok to attack another user or violate the rules of the site.
It binds to 0.0.0.0:53 by default, so just point your devices' DNS to the board's IP
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?
On OpenWRT — it's musl-based Linux so the binary should run the arm one would need a crosscompile Free BSD can be done (pr's welcome?)
Furthermore it is a little off-putting to see a vibecoded UI because I have very little confidence that the rest of the backend code is not vibecoded. I know I am possibly being unfair, but this is how it looks to me. If the developer tells me they didn't use AI at all, I would believe it.
I guess to be fair, beforehand no body would be attempting this kind of thing and releasing it unless they knew what they were doing
"I'm fine with people eating meat, as long as they declare so when we go out" like why? Why does it matter?
Which is a valid stance IMO.
In the OP, a vibecoded UI when the whole project emphasizes "I did this myself, from scratch" is a bit awkward.
Does "I did this myself" mean they read all the relevant specs and then wrote the code - or did they just write the prompts themselves?
Edit: OP already answered and confirmed that they in fact did write the code themselves.
If you want to skip Tailscale entirely for home servers, Numa’s LAN discovery auto-finds machines running Numa on the same network. Or add static records in numa.toml for machines that don’t run it.
There's also a per-domain allowlist and you can pause/unpause blocking from the dashboard or API.
Here's how the resolution pipeline looks like: https://numa.rs/blog/posts/dns-from-scratch.html#the-resolut...