#dynamic #ddns #dns #netlify #networking

bin+lib netlify-ddns

A simple CLI tool for setting Netlify DNS records dynamically

9 releases

0.3.2 Nov 2, 2022
0.3.0 Jan 4, 2021
0.2.4 May 2, 2020
0.2.3 Feb 5, 2020
0.2.1 Nov 8, 2019

#798 in Command line utilities

Apache-2.0 OR MIT

496 lines


GitHub Workflow Status Crates.io License maintenance

netlify-ddns is a simple command line tool for creating a DNS record for Netlify's Managed DNS service. It is meant to be run as a cron job and queries third-parties (multiple, in case one is down) for your public IP, then updates or adds a DNS record using the Netlify API.


Install using cargo:

cargo install netlify-ddns


A simple CLI tool for setting Netlify DNS records dynamically.

Usage: netlify-ddns [OPTIONS] --domain <DOMAIN> --token <TOKEN>

  -d, --domain <DOMAIN>        The full domain for the DNS record
  -s, --subdomain <SUBDOMAIN>  The subdomain segment for the DNS record [default: www]
      --ttl <TTL>              The TTL value in seconds to set with the record [default: 3600]
  -i, --ip-type <IP_TYPE>      Whether an IPv6 "AAAA" or an IPv4 "A" record should be updated [default: ipv4] [possible values: ipv4, ipv6]
  -t, --token <TOKEN>          Your Netlify personal access token [env: NETLIFY_TOKEN=]
  -h, --help                   Print help information
  -V, --version                Print version information

Example Cronjob

You could set a cronjob to update the dev.example.com hourly with a task like the following.

0 * * * * netlify-ddns -d example.com -s dev --token=<your token>


~390K SLoC