gandi-live-dns-rust/Readme.md

23 lines
1.2 KiB
Markdown
Raw Normal View History

2022-01-23 15:12:27 -06:00
## gandi-live-dns-rust
A program that can set the IP addresses for configured DNS entries in [Gandi](https://gandi.net)'s domain configuration.
Thanks to Gandi's [LiveDNS API](https://api.gandi.net/docs/livedns/), this creates a dynamic DNS system.
Inspired by [cavebeat's similar tool](https://github.com/cavebeat/gandi-live-dns),
which seems to be unmaintained at the time I'm writing this. I decided to rewrite it in Rust as a learning project.
2022-01-23 21:35:29 -06:00
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.
2022-01-23 15:12:27 -06:00
## Usage
2022-01-23 21:35:29 -06:00
- Copy `example.toml` to `gandi.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 which entries you want to update
- Use `cargo run` to build and run the program
2022-01-23 21:40:11 -06:00
> 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.