https://github.com/Swarkin/cloudflare-ddns-updater
Cloudflare DDNS updater
https://github.com/Swarkin/cloudflare-ddns-updater
Last synced: 9 months ago
JSON representation
Cloudflare DDNS updater
- Host: GitHub
- URL: https://github.com/Swarkin/cloudflare-ddns-updater
- Owner: Swarkin
- License: mit
- Created: 2024-11-09T23:33:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-21T01:10:34.000Z (over 1 year ago)
- Last Synced: 2025-01-21T04:47:41.529Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 7.81 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cloudflare DDNS updater
Tiny applet to update Cloudflare DNS A records for your domain.
It is recommended to use a service to restart the program on a regular interval, for example `systemd` on Linux or `Task Scheduler` on Windows.
---
## Config
The configuration is stored using the `.toml` format in the OS-specific config directory.
### Location
| OS | Path |
|----------|-----------------------------------------------------|
| Linux | `$HOME/.config/cloudflare-ddns-updater/config.toml` |
| Windows | `%APPDATA%/cloudflare-ddns-updater/config.toml` |
### Entries
| Key | Type | Required | Description | Default |
|-------------------|---------------|----------|------------------------------------------------------------------------------------------------------|-----------------------------------------|
| `auth_key` | `String` | **yes** | Cloudflare authentication key
*My Profile > API Tokens > Create Token > Edit zone DNS (template)* | |
| `auth_email` | `String` | **yes** | Cloudflare account Email | |
| `zone_id` | `String` | **yes** | Cloudflare zone ID
*Websites > (Your website) > Overview > API (bottom right) > Zone ID* | |
| `patterns` | `Vec` | | List of glob-patterns to match the DNS record name with | |
| `invert_patterns` | `bool` | | Inverts the effect of patterns | |
| `ip_src` | `Vec` | | List of URLs used for fetching the external IPv4 | `ipv4.icanhazip.com`
`api.ipify.org` |
| `http_timeout_s` | `u64` | | Timeout for all HTTP requests in seconds | 10 |