cloudflare-dns-updater/README.md

1.4 KiB

Cloudflare DNS Updater

Create and activating a venv

Make sure Python 3.10 or higher is installed. Use cd to change to the location of this repository.

Now, run

py -3.10 -m venv venv

Replace the -3.10 with other Python versions if necessary (ex.: -3.11)

Activate the venv using the command

venv/scripts/activate

Installing the required packages

Make sure the venv is activated.

Run the following command

pip install -r requirements.txt

Alternatively, the packages can be installed manually by using pip install.

The full list of packages needed:

  • cloudflare (Version 2.0.0 or greater)
  • Buildins:
    • json
    • configparser
    • ipaddress
    • sys

Using the script

Before running the script, make sure there exists a config.ini file next to the cloudflare_script.py. The config has to have the following structure:

[cloudflare]
TOKEN=<cloudflare api token>

[server]
HOSTNAME=hostname-of-website.com

Run the script using the following arguments:

python cloudflare_script.py <ipversion> <path/to/ip/list>

IP-Version can be 4 or 6. The IP-List has to conform to the following structure and be a json file:

{
  "AAAA": [
    "ipv6 site prefix"
  ],
  "A": [
    "ipv4 site prefix"
  ]
}

To only get the currently registered DNS records for a given API key, run

python cloudflare_script.py

THis will print all DNS records for the API key with name, ip, cloudflare id and ip-version