Skip to main content

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.

Release files for strato-dyndns 2.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for strato-dyndns 2.3.3
File Size Uploaded
strato_dyndns-2.3.3.tar.gz 25.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for strato-dyndns 2.3.3
File Interpreter ABI Platform
strato_dyndns-2.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 53.9 kB

Release files / strato_dyndns-2.3.3.tar.gz

Download URL strato_dyndns-2.3.3.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0c94c2222505ecce9e613a94d6fd29980c44c7faa2622f89d0605bc15905e208
BLAKE2b-256 checksum
How to use checksums
741c7e509e12f8c7dcc762dd2f8036669661307c817e426d2aefe4cd8d4e6adc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release files / strato_dyndns-2.3.3-py3-none-any.whl

Download URL strato_dyndns-2.3.3-py3-none-any.whl
Size 28.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
715ce09d8b26f48cdf2123cd448f1ba877050aacc4bc5130513176d0fbf2be8c
BLAKE2b-256 checksum
How to use checksums
5db1500acc8e6c14b4b7e6301c255faf60341c1596b9b20d8a84dd6ea383c127
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release history Release notifications | RSS feed

This release

2.3.3 This release

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page