:globe_with_meridians:
netlify-ddns

A CLI tool for setting Netlify DNS records dynamically.

Build Status Version License

`netlify-ddns` is a simple command line tool for creating a DNS record for [Netlify's Managed DNS][netlify] 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. ## Installation Install using [cargo][cargo]: ``` cargo install netlify-ddns ``` ## Usage ``` A simple CLI tool for setting Netlify DNS records dynamically. Usage: netlify-ddns [OPTIONS] --domain --token Options: -d, --domain The full domain for the DNS record -s, --subdomain The subdomain segment for the DNS record [default: www] --ttl The TTL value in seconds to set with the record [default: 3600] -i, --ip-type Whether an IPv6 "AAAA" or an IPv4 "A" record should be updated [default: ipv4] [possible values: ipv4, ipv6] -t, --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= ``` ## Related * [oscartbeaumont/netlify-dynamic-dns] for a similar client written in [Go][go]. * [lytedev/netlify-ddns] for a simple shell script version. * [skylerwlewis/netlify-ddns.sh] for another simple script version. * [johnsmol/netlify-ddns] for version written in Python. [cargo]: https://doc.rust-lang.org/cargo/getting-started/installation.html [go]: https://golang.org/ [lytedev/netlify-ddns]: https://github.com/lytedev/netlify-ddns [netlify]: https://www.netlify.com/docs/dns/ [oscartbeaumont/netlify-dynamic-dns]: https://github.com/oscartbeaumont/netlify-dynamic-dns [skylerwlewis/netlify-ddns.sh]: https://gist.github.com/skylerwlewis/ba052db5fe26424255674931d43fc030 [johnsmol/netlify-ddns]: https://github.com/johnsmol/netlify-ddns