# 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: ```ini [cloudflare] TOKEN= [server] HOSTNAME=hostname-of-website.com ``` Run the script using the following arguments: ``` python cloudflare_script.py ``` IP-Version can be 4 or 6. The IP-List has to conform to the following structure and be a json file: ```json { "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