JamesWRC / Cloudflare_DDNS

An 'on requests' CNAME Updater. This tool updates and manages multiple type A DNS records.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cloudflare DynDNS for multiple IP addresses

Manage your different servers with dynamic IP addresses. Acts as a lightweight manager for A name records for services which are 'distributed' and IP addresses may change frequently.

Cloudflare DynDNS

Status GitHub Issues GitHub Pull Requests License

📝 Table of Contents

Introduction

This tool has been developed for uses that have many different distributed servers which IP addresses change frequently, primarily developed with dynamic IP addresses in mind.

How can this help

I have designed this tool to help manage services with different domain extensions for services that have different IP addresses. For example if you have multiple Docker containers running on various servers, different countries or distribute your server infrastructure then this tool will help.

This tool has an in built queue service which will enable your services to update their IP addresses, without using up all of your Cloudflare API request limits (1200 per 5 minutes). For example you may limit only 50 IP addresses to be updater per minute (IE this tool will use 250/1200 API calls per 5 minutes.)

Prerequisites

  • Cloudflare.
    • any tire will do, even free.
  • Docker installed on a server.
    • Can be your origin server, any other server or even a raspberry pi.

Configuration

Settings / preferences

In the code you will see a basic settings.json. In this file you will need to provide your:

  • Cloudflare API key
  • Cloudflare email account
  • The Cloudflare Zone ID you wish to use this tool with.

There are additional settings that come default (recommended) configurations. They are as follows:

  • CF_API_TOKEN --> provide your Cloudflare API key.
  • CF_EMAIL_ADDRESS --> Your Cloudflare accounts email.
  • CF_ZONE_ID --> Your Cloudflare Zone ID.
  • MAX_UPDATED_PER_MIN --> The maximum number of request to update Cloudflare DNS records in one minute.

Install

Docker image is not ready yet, check back later or build image locally
  • Build the container locally by running: sudo chmod +x buildDocker.sh && ./buildDocker.sh
  • Run the docker container: docker run cloudflare_ddns
  • Configure to your needs.

Acknowledgments

Powered by

About

An 'on requests' CNAME Updater. This tool updates and manages multiple type A DNS records.

License:MIT License


Languages

Language:Python 100.0%