Somehow, 3 gigs in a row, I've found myself involved with dynamic #DNS infrastructure.

The pattern is always the same; there is a database of some sort, and then #bind or #powerdns serving results. Updates happen using a custom web interface or home-brewed web API.

But - we have a standard for dynamic DNS updates! It's called #rfc2163. Why aren't we using it? Because DNS is less dev friendly, I guess?

So I wrote Duppy: https://github.com/pagekite/duppy - a reusable #RFC2163 DNS update server.

GitHub - pagekite/duppy: A RFC2136 dynamic DNS update server

A RFC2136 dynamic DNS update server. Contribute to pagekite/duppy development by creating an account on GitHub.

GitHub

... as far as I know *nobody* is using #Duppy yet, including me - I have yet to deploy it. For shame!

It's quite functional though, and I think it's super neat - it's both a #DNS server and an HTTP web-API server in one #Python process. The idea is for it to handle all your dynamic-DNS-update-API-server needs in one codebase.

I wonder if anyone in Fedi would like to take a look?

Oh yeah, I forgot to mention.

One of the motivators for #Duppy, was off-the-shelf compatibility with #letsencrypt and #certbot - certbot ships with an #rfc2163 plugin.

So if you are hosting domains for people in a database and want them to be able to easily use DNS validation to obtain certs... this makes that possible without custom software on the user's side.