cloudflare-dns-updater/README.md
Neshura 3fc17bcd4a
All checks were successful
Run Tests on Code / run-tests (push) Successful in 11s
Specify config directory in Readme
2023-12-29 02:21:12 +01:00

51 lines
1.7 KiB
Markdown

# Cloudflare DNS Updater
## Using the application
The application necessarily requires a valid Cloudflare API Token.
Further the application must be located in the same network as the configured zones.
The actual configuration happens in three or more files located in `~/.config/cloudflare-dns-updater/`:
`config.toml` contains general configuration parameters for the application
`interfaces.toml` contains all IPv6 interfaces available/used by the zone config files.
`.toml` files in `zone.d` contain settings for individual zones.
Example:
*config.toml*
```toml
cf_api_token = "0123456789abcdef0123456789abcdef01234" # Cloudflare API Token
check_interval_seconds = 30 # Defaults to 60 if missing
uptime_url = "https://example.org/uptime/id12" # Post Endpoint for a Uptime Monitor
```
*interfaces.toml*
```toml
host_address = "::edcb:a098:7654:3210"
[interfaces]
example-interface = "::0123:4567:890a:bcde" # static part of the IP, the rest will be dynamically generated using the host
```
*zone.d/example.org.toml*
```toml
email = "owner@example.org" # Email of User owning the Zone
zone = "example.org" # Zone Name
id = "01234567890abcdefghijklmnopqrstu" # Zone ID
[[entry]]
name = "example.org" # "@" Symbol is not currently supported
type = ["AAAA", "A"] # Options are: "A" (IPv4/A Record) and/or "AAAA" (IPv6/AAAA Record)
interface = "example-interface" # Only required on type values 6 and 10
```
## Debian Repository
Currently supported:
- Debian 12 'Bookworm'
Includes systemd system and user unit files
For more details see [the package registry](https://forgejo.neshweb.net/Neshura/-/packages/debian/cloudflare-dns-updater)