Crates.io | cfdydns |
lib.rs | cfdydns |
version | 0.1.0 |
source | src |
created_at | 2024-05-04 03:11:45.044756 |
updated_at | 2024-05-04 03:11:45.044756 |
description | Cloudflare dynamic DNS client |
homepage | |
repository | |
max_upload_size | |
id | 1229368 |
size | 60,575 |
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.
The recommended way of using cfdydns
is through containers. Built containers are available in:
ghcr.io/xjonathanlei/cfdydns:latest
xjonathanlei/cfdydns:latest
You may also install the binary directly. With the Rust toolchain installed:
cargo install --locked --path .
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.
ddclient
is hard to configure and barely maintained. Who cares about all the DNS provider integration when you're only using Cloudflare anyways.
Licensed under either of
at your option.