src | ||
.gitignore | ||
.gitlab-ci.yml | ||
api-key-empty.json | ||
Cargo.lock | ||
Cargo.toml | ||
cloudflare.json | ||
config.json | ||
README.md |
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