standalone DNS updater for Gandi
Project description
dynDNS_updater
standalone DNS updater for Gandi
The main purpose of dynDNS_updater is to keep the DNS records pointing to your servers up to date without any system dependencies (except python, of course) nor any fancy web services to identify their public IPv4 / IPv6
Usage
Install
pip install dyndns-updater
CLI
dyndns_updater {now,scheduled} /path/to/your/conf.yaml
or
python -m dyndns_updater {now,scheduled} /path/to/your/conf.yaml
Mode:
- now: perform action once
- scheduled: perform action every
${delta}seconds (see below)
Configuration
ip_identifier: cloudflare
delta : 900
dns_providers:
- gandi: GKDNzPZsdHB8vxA56voERCiC
somedomain.io:
subdomain1: A
subdomain2: AAAA
subdomain3: AAAA
| variables | description |
|---|---|
ip_identifier |
DNS server used to determine your current IP (currently supporting cloudflare and opendns) |
delta |
How often should dynDNS_updater check and update (in seconds) |
dns_providers |
list of provider: API-KEY |
Features
Types of records
- A
- AAAA
Supported DNS provider
| Name | API root |
|---|---|
| Gandi | https://api.gandi.net/v5/livedns |
Developpers
If your favorite DNS provider is missing from the list, please consider contributing. Your class just needs to inherit from Updater and possess the following methods to work in dynDNS_updater
class YourProviderUpdater(Updater):
def initialize(self):
your_logic = "please write unit tests along the way"
def check_and_update(self):
your_logic = "please write unit tests along the way"
Onboarding
git clone https://github.com/zar3bski/dynDNS_updater.git
cd dynDNS_updater
poetry install
This will create a virtual env with all dev dependencies
Some usefull commands
- run unit tests :
poetry run pytest - add dependencies :
poetry add some-lib
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dynDNS-updater-0.2.0.tar.gz.
File metadata
- Download URL: dynDNS-updater-0.2.0.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.5 Linux/5.8.0-1033-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50726a16967039009209629a9f161a89e9d8573da57ed426cb85d2a414cacbbc
|
|
| MD5 |
2733f3511d38f073348d4c0e89a1f507
|
|
| BLAKE2b-256 |
88469340980ca46ac58bea6670ea5391c636beaac086e3b7bfd39a8645f75fe2
|
File details
Details for the file dynDNS_updater-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dynDNS_updater-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.5 Linux/5.8.0-1033-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3170016b73827031f76a01eeb99ac5aedd5be49a9fc4a263b4cdd49408618d92
|
|
| MD5 |
9cfa619e4c63a866ea404c6354a68077
|
|
| BLAKE2b-256 |
bcfa5ff57ba7365842bdc9a3e87d772f102618cd7efc030c6ecc9b3a51727efb
|