Skip to main content

Updates your DNS records on supported DNS registrars.

Project description

Strato-DynDNS

Join the chat at https://gitter.im/strato-dyndns/community Build status Downloads Total API Usage

Strato-DynDNS updates your website's DNS records on DNS servers. Originally designed for Strato.

Disclaimer

  • This tool is in no way associated with Strato AG.
  • You use this tool at your own sole responsibility.
  • To fetch external IPV4 and IPV6 Addresses, this library uses a simple PHP endpoint written and hosted by myself. No data about users IP is stored or processed by me except for amount of usage of API which can be seen here publicly. However, logging of your IP address might still be done by Cloud Service Provider. If you do not want this, you can supply own API endpoint which returns pure IP address as response. See below in docs.

Currently Supported Registrars

  • Strato
  • Namecheap

Installation

To install this tool, please download a suited version for your operating system from releases page of github repository of this project. Alternatively, you can install it via pip: $ pip3 install strato-dyndns

If you want v1 (which only supports strato), use $ pip3 install strato-dyndns==1.2.1

Usage:

Command Line Option Function
-c or --config inputs a configuration file, look below for configuration file syntax
-u or --username specify username
-p or --password specify password
-d or --domain specify domain
-ip specify ip address, accepts multiple IP addresses separated by spaces
-v4 specifies to update IPv4 records
-v6 specifies to update IPv6 records

Python (3.6+) Library Documentation

The DynDNSClient library was written with importablity in mind. Full documentation to be found here.

Quality of Life (QoL)

For QoL, this tool offers a functionality to read parameters from a config file.

1. Configuration file

A configuration file needs to be in JSON Format and needs to contain mandatory parameters username, password and domain. An example config file could look like this:

{
  "username": "maindomain.de",
  "password": "S00p3rS3cur3_!",
  "domain": "subdomain.maindomain.de"
}

Please take into consideration that username for a Namecheap domain is actually the domain itself and domain is either @ or www etc. For more info about this, please read this document.

2. Automation

While this script itself does not YET support chronic executions, scheduling updates are indeed possible with tools like crontab e.g.

#open cronjobs in editing mode
$ crontab -e  
#add strato-dyndns to list
10 10 * * 1 strato_dyndns strato -c config.conf -v4 -v6
#this would update your DNS records at 10:10 am every week.

To-Do

  • add a block scheduler for own scheduling mechanism
  • add other domain registrars

Contributions

Any contribution to this tool are welcome. Any pull request, bug or issue reporting will be addressed as soon as possible.

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

strato_dyndns-2.3.3.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

strato_dyndns-2.3.3-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file strato_dyndns-2.3.3.tar.gz.

File metadata

  • Download URL: strato_dyndns-2.3.3.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for strato_dyndns-2.3.3.tar.gz
Algorithm Hash digest
SHA256 0c94c2222505ecce9e613a94d6fd29980c44c7faa2622f89d0605bc15905e208
MD5 af7c7cfdac8586024e68487996c968d7
BLAKE2b-256 741c7e509e12f8c7dcc762dd2f8036669661307c817e426d2aefe4cd8d4e6adc

See more details on using hashes here.

File details

Details for the file strato_dyndns-2.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for strato_dyndns-2.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 715ce09d8b26f48cdf2123cd448f1ba877050aacc4bc5130513176d0fbf2be8c
MD5 4d8a49ee68f22ef5b25a680e07545178
BLAKE2b-256 5db1500acc8e6c14b4b7e6301c255faf60341c1596b9b20d8a84dd6ea383c127

See more details on using hashes here.

Supported by

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