finds.dev← search

// the find

jedisct1/edgedns

★ 510 · Rust · ISC · updated May 2025

A high performance DNS cache designed for Content Delivery Networks

EdgeDNS is a DNS caching proxy written in Rust, aimed at CDN operators who need to shield authoritative nameservers from direct query load and DDoS. It runs in two modes: fronting authoritative servers ('virtual DNS') or acting as a local resolver cache. The fixed-socket UDP model and CLOCK-Pro cache eviction are the genuinely interesting design choices here.

Fixed-pool UDP sockets means no per-query socket allocation overhead — the kernel never has to do TCP handshake or socket teardown under load, which is a real win at CDN scale. CLOCK-Pro eviction separately tracks hot vs. recently-seen entries, so a burst of unique queries can't evict your frequently-served records. Query coalescing is implemented properly: multiple waiting clients for the same in-flight query get a single upstream round-trip. DNS0x20 normalization is handled correctly — case-randomized queries share cache entries without mangling the response case back to the client.

Last meaningful activity was years ago and it still requires rust-nightly to build — that's a maintenance red flag and a real operational headache. No DoH or DoT support at all; if you're fronting anything in 2025, you almost certainly need encrypted transport. The fixed UDP port pool requires tuning ulimit before you start, and the default of 8 ports will silently destroy performance if you forget — this should fail loudly or self-configure. Documentation is thin on the operational side: no guidance on what the CLOCK-Pro parameters actually do, no explanation of when to prefer 'fallback' vs 'minload' vs 'uniform', and Prometheus metrics are mentioned but not documented anywhere in the README.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →