Strato-DynDNS updates your website's DNS records on DNS servers. Originally designed for Strato.
- 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.
- Strato
- Namecheap
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
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 |
The DynDNSClient
library was written with importablity in mind. Full documentation to be found here.
For QoL, this tool offers a functionality to read parameters from a config 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.
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.
- add a block scheduler for own scheduling mechanism
- add other domain registrars
Any contribution to this tool are welcome. Any pull request, bug or issue reporting will be addressed as soon as possible.