Skip to main content

standalone DNS updater for Gandi

Project description

dynDNS_updater

GitHub Workflow Status (branch) PyPI

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

dynDNS-updater-0.2.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynDNS_updater-0.2.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

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

Hashes for dynDNS-updater-0.2.0.tar.gz
Algorithm Hash digest
SHA256 50726a16967039009209629a9f161a89e9d8573da57ed426cb85d2a414cacbbc
MD5 2733f3511d38f073348d4c0e89a1f507
BLAKE2b-256 88469340980ca46ac58bea6670ea5391c636beaac086e3b7bfd39a8645f75fe2

See more details on using hashes here.

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

Hashes for dynDNS_updater-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3170016b73827031f76a01eeb99ac5aedd5be49a9fc4a263b4cdd49408618d92
MD5 9cfa619e4c63a866ea404c6354a68077
BLAKE2b-256 bcfa5ff57ba7365842bdc9a3e87d772f102618cd7efc030c6ecc9b3a51727efb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page