Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Cloudflare
  3. Dynamic DNS Python

Dynamic DNS Python

BSD-3-ClausePython

A Python script to dynamically update Cloudflare DNS records for domains with dynamic IP addresses.

GitHubGitHub
155 stars33 forks0 contributors

What is Dynamic DNS Python?

Cloudflare DDNS is a Python script that automatically updates Cloudflare DNS records when your public IP address changes. It solves the problem of hosting servers or services behind dynamic IP addresses by keeping domain names pointed to the correct current IP. The script periodically checks your IP and updates Cloudflare's DNS records accordingly.

Target Audience

Users hosting personal servers, game servers, or web applications behind dynamic residential or business internet connections who use Cloudflare for DNS management.

Value Proposition

Developers choose Cloudflare DDNS because it's lightweight, specifically designed for Cloudflare's API, supports both IPv4 and IPv6, and includes smart update logic that only makes changes when necessary. It's a focused alternative to generic dynamic DNS services when you already use Cloudflare.

Overview

A script to update your Cloudflare DNS records at a glance.

Use Cases

Best For

  • Hosting a personal website from home with a dynamic IP
  • Running game servers on residential internet connections
  • Maintaining access to self-hosted applications with changing IPs
  • Keeping development environments accessible via domain names
  • Managing DNS for multiple services behind a single dynamic IP
  • Automating DNS updates for IoT devices with changing network locations

Not Ideal For

  • Users not using Cloudflare for DNS management (e.g., those with AWS Route 53 or Google Domains)
  • Projects requiring a graphical user interface or web dashboard for configuration and monitoring
  • Enterprises needing centralized management and monitoring for hundreds of dynamic IPs across multiple zones
  • Environments where Python is not installed or where system dependencies are tightly controlled

Pros & Cons

Pros

Dual Protocol Support

Updates both IPv4 (A records) and IPv6 (AAAA records) in Cloudflare, as highlighted in the features list, making it future-proof for networks adopting IPv6.

Smart Update Logic

Only modifies DNS records when the IP address actually changes, reducing unnecessary API calls to Cloudflare and minimizing potential rate limits.

Multi-Record Configuration

Allows managing multiple DNS records with different settings like TTL and proxy mode from a single YAML file, simplifying management for multiple services.

Lightweight and Efficient

Has minimal dependencies (only PyYAML and Requests) and optimized update logic, ensuring low resource usage on systems where it runs periodically.

Cons

Manual Scheduling Required

No built-in scheduler; users must manually set up cron jobs or similar tools to run the script periodically, adding setup complexity and maintenance overhead.

Cloudflare-Exclusive

Designed specifically for Cloudflare's API, so it cannot be used with other DNS providers, creating vendor lock-in and limiting flexibility.

Basic Error Handling

Relies on simple logging to files without advanced features like automatic retries or notifications, making troubleshooting more hands-on when issues arise.

Frequently Asked Questions

Quick Stats

Stars155
Forks33
Contributors0
Open Issues0
Last commit5 years ago
CreatedSince 2017

Tags

#cloudflare-api#ip#dns#home-server#cloudflare#dynamic-dns#dns-management#cron-job#network-automation#domain-management#ddns#self-hosted#python-script#ip-update

Built With

p
pyyaml
P
Python
R
Requests

Included in

Cloudflare1.1k
Auto-fetched 6 hours ago

Related Projects

cloudflaredcloudflared

Cloudflare Tunnel client

Stars14,949
Forks1,363
Last commit1 day ago
ScrapeScrape

A Python module to bypass Cloudflare's anti-bot page.

Stars3,530
Forks452
Last commit2 years ago
CloudFlairCloudFlair

🔎 Find origin servers of websites behind CloudFlare by using Internet-wide scan data from Censys.

Stars2,965
Forks385
Last commit1 year ago
Th3inspectorTh3inspector

Th3Inspector 🕵️ Best Tool For Information Gathering 🔎

Stars2,648
Forks516
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub