2022-11-26 19:24:15 +00:00
|
|
|
# Cloudflare DNS Updater
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
## Using the application
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
The application necessarily requires a valid Cloudflare API Token.
|
|
|
|
Further the application must be located in the same network as the configured zones.
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
| Environment Variable | Required | Usage |
|
|
|
|
|:--------------------:|:--------:|:----------------------------------:|
|
|
|
|
| CF_API_TOKEN | x | Cloudflare API Token |
|
|
|
|
| STATUS_POST_URL | | Post Endpoint for a Uptime Monitor |
|
|
|
|
*Note: Variables can be stored in a .env file*
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
The actual configuration happens in two or more files:
|
|
|
|
`interfaces.toml` contains all IPv6 interfaces available/used by the zone config files.
|
|
|
|
`.toml` files in `zone.d` contain settings for individual zones.
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
Example:
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
*interfaces.toml*
|
|
|
|
```toml
|
2023-12-25 15:23:44 +00:00
|
|
|
host_address = ":edcb:a098:7654:3210"
|
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
[[interface]]
|
2023-12-25 15:23:44 +00:00
|
|
|
name = "example-interface-1" # this is what a user inputs in the zone.toml
|
|
|
|
address = ":0123:4567:890a:bcde" # static part of the IP, the rest will be dynamically generated using the host
|
2022-11-27 15:42:15 +00:00
|
|
|
```
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
*zone.d/example.org.toml*
|
|
|
|
```toml
|
|
|
|
email = "owner@example.org" # Email of User owning the Zone
|
2023-12-25 15:23:44 +00:00
|
|
|
zone = "example.org" # Zone Name
|
|
|
|
id = "01234567890abcdefghijklmnopqrstu" # Zone ID
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
[[entry]]
|
2023-12-25 15:23:44 +00:00
|
|
|
name = "example.org" # "@" Symbol is not currently supported
|
|
|
|
rtype = 10 # Options are: "4" (only IPv4/A Record), "6" (only IPv6/AAAA Record) and "10" (both)
|
|
|
|
interface = "example-interface-1" # Only required on type values 6 and 10
|
2022-11-27 15:42:15 +00:00
|
|
|
```
|
2022-11-26 19:24:15 +00:00
|
|
|
|
2023-12-25 14:12:00 +00:00
|
|
|
## Debian Repository
|
|
|
|
TODO!
|