Go to file
Kaan Genc 517c77ee05 note release in readme 2022-01-26 01:19:47 -05:00
.vscode almost done! 2021-12-24 20:20:31 -05:00
src fix API error 2022-01-23 22:29:32 -05:00
.gitignore egh 2022-01-23 16:38:38 -05:00
Cargo.lock switch to rustls 2022-01-25 23:57:24 -05:00
Cargo.toml switch to rustls 2022-01-25 23:57:24 -05:00
LICENSE.txt add license 2022-01-23 22:43:06 -05:00
Readme.md note release in readme 2022-01-26 01:19:47 -05:00
example.toml update usage instructions 2022-01-23 22:35:29 -05:00

Readme.md

gandi-live-dns-rust

A program that can set the IP addresses for configured DNS entries in Gandi's domain configuration. Thanks to Gandi's LiveDNS API, this creates a dynamic DNS system.

Inspired by cavebeat's similar tool, which seems to be unmaintained at the time I'm writing this. I decided to rewrite it in Rust as a learning project.

This tool can update both IPv4 and IPv6 addresses for one or more domains and subdomains. It's a "one-shot" tool that's then orchestrated with a systemd timer or cron.

Usage

  • Create a file gandi.toml, then copy and paste the contents of example.toml
  • Follow the instructions in the example config to get your API key and put it in the config
  • Follow the examples in the config to set up the entries you want to update
  • Download and extract the correct binary from the releases page and place it in your PATH, or just the current directory
  • Run gandi-rust-dns-updater to update your DNS entries

Warning!

This tool does not rate limit itself, or otherwise do anything that limits how often it sends changes to Gandi's servers. It's up to you to use the tool properly and avoid abusing Gandi's servers. The tool is one-shot, so all you have to do is to avoid running it too often.