Self-host d2c.sh
Bash script for Cloudflare dynamic DNS updates
- Stars
- 228
- Requires
- Curl, Yq
What is d2c.sh?
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.
Should you self-host d2c.sh?
d2c.sh scores 41/100 on selfhost.directory (how scoring works) and ranks #31 of 41 in DNS. It has 228 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is easy: most people get it running in one sitting. It is GPL-3.0-licensed and written mostly in Shell.
Its closest alternative on selfhost.directory is Pi-hole (87/100, 61 531 stars). It scores higher overall, so compare the two before you pick. See d2c.sh vs Pi-hole side by side.
Features
- Cron-friendly
- Gotify notifications
- IPv4 dynamic DNS
- IPv6 dynamic DNS
- Multiple zone support
- No-install execution
- Telegram Notifications
d2c.sh README
More in Network Utilities
ddns-goOpen-source self-hosted DDNS tool that detects your public IPv4/IPv6 and updates Cloudflare, Dnspod, Aliyun and more via API, with a web UI, webhooks and Docker images.
ddns-route53Dynamic DNS for Amazon Route 53 on a time-based schedule
docker-dyndnsSelf-hosted dynamic DNS server using BIND9 and Go API in Docker. Manage custom subdomains with basic auth via browser, curl, or router.
docker-external-ipSelf-hosted Docker container that checks external IP via DIG/curl and sends Pushover or Apprise notifications on change.
DumbWhoIsSelf-hosted web application for WHOIS, IP geolocation, and ASN lookups using free APIs with automatic query detection, dark mode, and PWA support.
ErgoSelf-hosted, open-source IRC server written in Go that merges ircd, NickServ/ChanServ/HostServ services and bouncer history in one daemon.
flaresolverrSelf-hosted open-source proxy that drives a real Chrome browser to solve Cloudflare and DDoS-Guard challenges, returning cookies and HTML to your HTTP clients.
godoxyHigh-performance reverse proxy and container orchestrator for self-hosters
gptwolSelf-hosted open-source Wake/Sleep on LAN web GUI with dark mode, OIDC auth, cron scheduling, and ARP scanning.
HevSocks5ServerA self-hosted, open-source SOCKS5 proxy server with dual-stack IPv4/IPv6, UDP relay and username/password auth; runs on Linux, macOS, Windows, Android and iOS.
i2pdSelf-hosted C++ I2P (Invisible Internet Protocol) router enabling anonymous, encrypted p2p communications without revealing real IP addresses.
ifconfig.ioSelf-hosted, open-source what-is-my-IP service written in Go: curl endpoints return your IP, reverse DNS, port and headers as text, JSON or XML, built for raw speed.
0 comments