1 unstable release
0.1.0 | May 4, 2024 |
---|
#1281 in Network programming
19KB
189 lines
cfdydns
Cloudflare dynamic DNS client
A simplistic dynamic DNS client that only works with Cloudflare, for only one domain. It's easily configurable via environment variables, making it an ideal choice to use in containers.
Installation
The recommended way of using cfdydns
is through containers. Built containers are available in:
- GitHub Container Registry:
ghcr.io/xjonathanlei/cfdydns:latest
- Docker Hub:
xjonathanlei/cfdydns:latest
You may also install the binary directly. With the Rust toolchain installed:
cargo install --locked --path .
Getting started
cfdydns
is configurable via command line options and environment variables. Running cfdydns --help
reveals the options:
Option | Env var | Optional | Description |
---|---|---|---|
--fqdn |
CFDYDNS_FQDN |
No | Fully-qualified domain name to set A record on |
--zone |
CFDYDNS_ZONE |
No | Zone name of the FQDN (e.g. example.com ) |
--api-token |
CFDYDNS_API_TOKEN |
No | Cloudflare API token with the DNS: Edit permission for the target zone |
--interval |
CFDYDNS_INTERVAL |
Yes | Number of seconds to wait between each check |
[!TIP]
cfdydns
does not create new records for you. The targetA
record for the FQDN must already exist.
Why not ddclient?
ddclient
is hard to configure and barely maintained. Who cares about all the DNS provider integration when you're only using Cloudflare anyways.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~6–20MB
~223K SLoC