HackerTrans
TopNewTrendsCommentsPastAskShowJobs

rdme

no profile record

Submissions

Show HN: Running the second public ODoH relay

numa.rs
125 points·by rdme·2 tháng trước·41 comments

Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries

github.com
115 points·by rdme·3 tháng trước·68 comments

comments

rdme
·2 tháng trước·discuss
might want to check https://github.com/alexandru/social-publish
rdme
·2 tháng trước·discuss
actually that is exactly how i am currently running it - dogfooding from my Mac

sudo numa install handles launchd, numa then becomes tailscale's fallback resolver

docker socket service discovery - on the roadmap
rdme
·2 tháng trước·discuss
honestly, nothing major, just deployed the docker-compose to a hetzner $5 instance https://github.com/razvandimescu/numa/tree/main/packaging/re...

then submit a pr to Frank https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v...
rdme
·2 tháng trước·discuss
sovereign naming without ICANN or registrars - pkarr through DHT (not blockchain)
rdme
·2 tháng trước·discuss
no, you are actually telling the relay where to redirect your question from the start (because you are encrypting the question with the public key of the destination resolver) - the relay sending the question where it wants would result in the destination to not be able to decrypt it
rdme
·2 tháng trước·discuss
The relay sees IP + ciphertext, the target sees question + relay's IP. No single party gets both
rdme
·2 tháng trước·discuss
I agree with you, however that's a separate problem that needs to be solved
rdme
·2 tháng trước·discuss
They solve different things. ODoH hides your question, not who you're talking to.
rdme
·2 tháng trước·discuss
The relay is a systemd unit on a VPS, Caddy for TLS, SSRF-hardened (regex-strict hostnames, no IP literals). eTLD+1 same-operator check rejects relay+target run by the same org by default. HPKE is odoh-rs from Cloudflare

``` cargo install numa

# set mode = "odoh" in numa.toml ```

Repo: https://github.com/razvandimescu/numa
rdme
·2 tháng trước·discuss
this must be some a/b testing as i’m not seeing anything different

actually it does have a dismissable banner i haven’t even noticed
rdme
·3 tháng trước·discuss
How would this work? One would connect it's repository to a cloud platform that would then act based on the existing daemons of the repo?
rdme
·3 tháng trước·discuss
Just shipped numa v0.13.0: added request hedging (fires a parallel query after 10ms if the primary stalls, inspired by Google's Tail at Scale paper) wire-level cache with serve-stale (RFC 8767) and a DoT client for encrypted upstream.

Wrote about the tail latency investigation: https://numa.rs/blog/posts/fixing-doh-tail-latency.html
rdme
·3 tháng trước·discuss
should be fixed by #54 in 0.10.3 thanks again!
rdme
·3 tháng trước·discuss
Thanks for pointing this out! I’ve created https://github.com/razvandimescu/numa/issues/36
rdme
·3 tháng trước·discuss
let me know how it goes
rdme
·3 tháng trước·discuss
Split DNS already works — Numa auto-detects Tailscale forwarding rules from the system config. Queries matching .<ts.net> go to Tailscale’s DNS, everything else goes through Numa

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.
rdme
·3 tháng trước·discuss
This was started as a learning project, went from the start to the lowest level then I've just added features I wanted one by one, it just made the most sense
rdme
·3 tháng trước·discuss
let me know if you do it!
rdme
·3 tháng trước·discuss
Numa can do recursive resolution from root nameservers + DNSSEC, .numa local domains with auto HTTPS for dev, and LAN service discovery. What features would you be interested in?
rdme
·3 tháng trước·discuss
It definitely is and you can see it in the git commits. The DNS wire protocol parser was the original learning project I wrote to understand the spec. Later features (recursive resolver, DNSSEC validation, the dashboard) were built with the help of AI