cflare-ddns
This is yet another Cloudflare Dynamic DNS application.
Installation
pip install cflare-ddns
Usage
First is you need to create a config file. You can place it in the default location /etc/cflare-ddns.json or anywhere in your filesystem that is readable by the script. You'll need to pass that config location in the cli if it's not the default location.
Edit the config file, you'll need to provide the following:
api_key- You can get this in your cloudflare dashboard. Follow this link to get full instructions.email- The email account you use in cloudflare.zone_id- Zone ID of your domain name.domain- The domain name. Example:example.comrecord_name- The sub domain you want to update with your public ip. This subdomain should be anArecord type. Example:www
Configuration file example:
{
"api_key": "xxxx",
"email": "xxxx@gmail.com",
"records": [
{
"zone_id": "xxxx",
"domain": "example.xyz",
"record_name": "vpn"
},
{
"zone_id": "xxxx",
"domain": "example.sh",
"record_name": "www"
}
]
}
Running the script with config in the default location:
cflare-ddns
Running the script with config in non-default location:
cflare-ddns -c /opt/somewhere/config.json
You can add this to your cronjobs to run periodically.
* * * * * cflare-ddns
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
To run every 15 minutes:
*/15 * * * * cflare-ddns
CLI Reference
usage: cflare-ddns [-h] [-c CONFIG_FILE] [-i INTERVAL] [-v]
options:
-h, --help show this help message and exit
-v, --version App version
-c CONFIG_FILE, --config CONFIG_FILE
Path to your configuration file.
Default paths:
/etc/cflare-ddns.json,
cflare-ddns.json
-i INTERVAL, --interval INTERVAL
Number of seconds between each sync. This will make the program run
forever.Hit Ctrl-C to stop.
Docker
Example on running on docker:
docker run -e CF_DDNS_INTERVAL=900 -v $(pwd)/cflare-ddns.json:/etc/cflare-ddns.json --rm ianpogi5/cflare-ddns:latest
Example using docker-compose.yml:
version: "3.9"
services:
cflare-ddns:
image: ianpogi5/cflare-ddns:latest
container_name: cflare-ddns
environment:
- CF_DDNS_INTERVAL=900
volumes:
- /YOUR/PATH/TO/cflare-ddns.json:/etc/cflare-ddns.json
restart: unless-stopped
Metadata
Release files for cflare-ddns 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cflare-ddns-0.2.4.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cflare_ddns-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.3 kB
Release files / cflare-ddns-0.2.4.tar.gz
| Download URL | cflare-ddns-0.2.4.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffb2df88048a28b9f1896e23eef40f36db323edbd72ae9fb6eb7080cd16a6fc6
|
|
BLAKE2b-256 checksum How to use checksums |
7cc765bcd14e800cc0c7e2c1e1b34cc450cf0a9760dfd007a26a0e1646102535
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / cflare_ddns-0.2.4-py3-none-any.whl
| Download URL | cflare_ddns-0.2.4-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bee83cfc4440c5a58d4153fa373c134794abf3973d85ccf8133c9e67c3488acb
|
|
BLAKE2b-256 checksum How to use checksums |
26d039eeaffd472dcb87438d513c05929085e371802740ade9dbd2f4b8dd1605
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|