CloudFlare Dynamic DNS client
Project description
CloudFlare Dynamic DNS client
This is a simple Dynamic DNS script written in Python for updating CloudFlare DNS A records,
similar to the classic ddclient perl script.
- You can run it as a cron job or a systemd timer.
- It only updates the records if the IP address actually changed by storing a cache of the current IP address.
- It checks multiple IP services. If one of them doesn't respond, it skips it and check the next.
- It has an easy to use command line interface.
Install
If you want to just use it, you can download a standalone binary from the releases page.
Or you can use the Docker image:
$ docker run --rm -it kissgyorgy/cloudflare-dyndns --help
Development
You can install dependencies with poetry (preferable in a virtualenv).
After installing poetry, simply run:
$ poetry install
Command line interface
$ cloudflare-dyndns --help
Usage: cloudflare-dyndns [OPTIONS] [DOMAINS]
A simple command line script to update CloudFlare DNS A records with the
current IP address of the machine running the script.
For the main domain (the "@" record), simply put "example.com"
Subdomains can also be specified, eg. "*.example.com" or "sub.example.com"
Options:
--domains TEXT The list of domains to update, separated by whitespace.
It has to be ONE argument, so don't forget to quote! Can
be set with the CLOUDFLARE_DOMAINS environment variable.
--email TEXT CloudFlare account email. Can be set with
CLOUDFLARE_EMAIL environment variable [required]
--api-key TEXT CloudFlare API key (You can find it at My Profile page).
Can be set with CLOUDFLARE_API_KEY environment variable.
[required]
--cache-file FILE Cache file [default: ~/.cache/cloudflare-dynds/ip.cache]
--force Delete cache and update every domain
--debug More verbose messages and Exception tracebacks
--help Show this message and exit.
Changelog
v2.0 breaks backward compatibility for a PyPI release.
The script you need to run is now called cloudflare-dyndns
and the cache file
also changed. You can delete the old cache manually, or you can leave it, it
won't cause a problem.
The Docker file entry point is changed, so if you pull the new image, everything will work as before.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cloudflare_dyndns-2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5ab5fca71bd331bac3ef51aa146e0d82f46b6161c00632cdca7a187152aba49 |
|
MD5 | d9cb0df1364251a4fe60371966adb5d2 |
|
BLAKE2b-256 | 5f4992745d7eec547c2a0b176a1e16780eec2be3b04c7e6b773092f5c2aa6dfb |