# d2c.sh

> d2c.sh is a self-hosted, open-source Bash script that keeps Cloudflare A and AAAA records in sync with your public IP, with optional Gotify and Telegram notifications.

- **Category:** DNS
- **Licence:** GPL-3.0
- **Open source:** oss
- **Languages:** Shell, Dockerfile
- **Platforms:** Docker, Linux
- **Tags:** Telegram, Cron, Gotify, DNS, Bash, Ipv6, Ipv4, Cloudflare, Ddns, Dynamic Dns, Dynamic ip, Cloudflare Dynamic Dns, Cloudflare Dynamic Ip, Dynamic Dns Updater

## Description

d2c.sh is a lightweight dynamic DNS updater written in Bash for Cloudflare. It reads TOML configuration files from /etc/d2c/ (or a custom directory) and updates existing A and AAAA records to match the machine's current public IPv4 and IPv6 addresses. The script requires yq and curl, and can be installed as a system binary, run via a locally built Docker image, or executed directly with curl | bash. It supports multiple zones and DNS records per configuration file, and can send change notifications via Gotify or Telegram Bot API. Designed to run periodically via cron or a container scheduler.

## Links

- [Homepage](https://github.com/ddries/d2c.sh)
- [GitHub Repository](https://github.com/ddries/d2c.sh)

---
Source: https://selfhost.directory/project/d2c-sh