Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xjonathanlei/cfdydns
Cloudflare dynamic DNS client
https://github.com/xjonathanlei/cfdydns
cloudflare ddns
Last synced: about 2 months ago
JSON representation
Cloudflare dynamic DNS client
- Host: GitHub
- URL: https://github.com/xjonathanlei/cfdydns
- Owner: xJonathanLEI
- License: apache-2.0
- Created: 2024-05-03T23:50:49.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-05-04T03:25:21.000Z (8 months ago)
- Last Synced: 2024-05-04T04:24:19.752Z (8 months ago)
- Topics: cloudflare, ddns
- Language: Rust
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
cfdydns
**Cloudflare dynamic DNS client**
[![crates-badge](https://img.shields.io/crates/v/cfdydns.svg)](https://crates.io/crates/cfdydns)
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](https://github.com/xJonathanLEI/cfdydns/pkgs/container/cfdydns): `ghcr.io/xjonathanlei/cfdydns:latest`
- [Docker Hub](https://hub.docker.com/r/xjonathanlei/cfdydns): `xjonathanlei/cfdydns:latest`You may also install the binary directly. With the Rust toolchain installed:
```console
cargo install --locked cfdydns
```## 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 target `A` record for the FQDN must already exist.## Why not [ddclient](https://github.com/ddclient/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](./LICENSE-APACHE) or )
- MIT license ([LICENSE-MIT](./LICENSE-MIT) or )at your option.