This is a cloudflare ddns integration.
Warning
This will only work if you host your dns with cloudflare.
The app will run on an interval that you set or default to 5 minutes. It will check your public ip via the url 'https://cloudflare.com/cdn-cgi/trace' and update the record if it has changed.
You will need to create a token with the following permissions:
- DNS: Edit
CF_TOKEN- Your cloudflare tokenRECORD_NAME- The record you want to update (foo.bar.example.com)INTERVAL- The interval you want to update the record (5m, 1h, 1d) default: 5mPROXIED- If you want to proxy the record (1 or 0) default: 0
quick install
curl -s https://raw.githubusercontent.com/deltxprt/cloudflare-ddns/refs/heads/master/install.sh | bashquick unistall
curl -s https://raw.githubusercontent.com/deltxprt/cloudflare-ddns/refs/heads/master/uninstall.sh | bashsee cf-ddns.service
soon
podman run -d \
--name=cloudflare-ddns \
--restart unless-stopped \
-e CF_TOKEN=your_token \
-e RECORD_NAME=foo.bar.example.com \
-e INTERVAL=5m \
-e PROXIED=1 \
ghcr.io/deltxprt/cloudflare-ddns:latestsoon
docker run -d \
--name=cloudflare-ddns \
--restart unless-stopped \
-e CF_TOKEN=your_token \
-e RECORD_NAME=foo.bar.example.com \
-e INTERVAL=5m \
-e PROXIED=1 \
ghcr.io/deltxprt/cloudflare-ddns:latestservices:
cloudflare-ddns:
image: ghcr.io/deltxprt/cloudflare-ddns:latest
container_name: cloudflare-ddns
restart: unless-stopped
environment:
- CF_TOKEN=your_token
- RECORD_NAME=foo.bar.example.com
- INTERVAL=5m
- PROXIED=1You can view the logs by running journalctl -u cloudflare-ddns
If you have any issues, please open an issue on the github repo.
I'm open to suggestions and contributions. Feel free to open a PR or issue!