👋đŸģ Currently looking for work!
Please see my LinkedIn profile and get in touch, or see ways to support me in the interim.

â€Ļ has too many hobbies.

Some new DNS-related tools

I've recently written some DNS-related tools you might find useful.

I've recently had cause to write a few DNS-related tools that might be useful for you at some point.

dns-auditor

dns-auditor pulls DNS records from your DNS host's API and checks them for a few potential issues. (Currently, supported DNS hosts are DigitalOcean, Porkbun, and Name.com.)

It checks that:

  • CAA records are valid. Optionally, it can require CAA records with issue and iodef fields to be present.
  • CNAME records point to names that have resolvable A records.
  • MX records point to names that have resolvable A records.
  • DMARC records, if present, are valid. Optionally, it can require domains with MX records to have SPF and DMARC records.
  • Reverse DNS for the IPs that A/AAAA records point to resolve to the same domain.

It's written in Python for reasons[1], but it doesn't have any particularly complex dependencies so it's easy to run. And there are prebuilt Docker images, too.

dns-auditor screenshot

Migrators

These tools use the relevant DNS hosts' APIs to copy records from one host to another:

(That last one is unfortunately quite old and I'm no longer maintaining it.)

DigitalOcean DDNS

While we're here, there's one more DNS tool that I no longer maintain but which some may find useful: do-ddns, a Dynamic DNS server that updates DigitalOcean DNS records.

I built this tool with a client/server architecture, which is more complex than is strictly necessary. This is because a goal of the project was DynDns API compatibility, meaning this server is usable with routers & other systems that support DynDns natively (such as the Ubiquiti Security Gateway).


  1. I started it in Python about 6 years ago and I didn't want to start from scratch. â†Šī¸Ž