You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.5 KiB
1.5 KiB
Hetzner Dynamic DNS Updater
This script finds this machine's hostname, public IPv4 and IPv6 addresses, then updates the corresponding DNS records on Hetzner.
Note: This script is not developed, maintained or supported by Hetzner.
Usage
Usage:
hetzner-ddns.py [options]
Options:
-h --help Show this screen
--token=<str> Hetzner API Token
--zone=<str> Name of the DNS zone
--hostname=<std> This machine's hostname
--ttl=<n> Time-to-live in seconds
--v4-api=<url> API that returns your public IPv4 address
--v6-api=<url> API that returns your public IPv6 address
--retry-attempts=<n> Retry N times if connection fails
--retry-delay=<s> Wait S seconds between attempts
--config=<file> Read options from configuration file
--disable-v4 Do not update IPv4 address
--disable-v6 Do not update IPv6 address
Running during boot
The instructions below were tested on Ubuntu Linux 20.04 LTS.
- Install Python and pip:
sudo apt install python3 python3-pip
- Install package dependencies:
sudo pip3 install docopt
- Clone the repository somewhere:
git clone https://github.com/iSoron/hetzner-ddns.git
- Install the script system-wide:
cd hetzner-ddns
sudo make install
-
Create a configuration file in
/etc/hetzner-ddns.conf
with you API token. See/etc/hetzner-ddns.conf.example
for an example. -
Run script and enable it during boot:
sudo make start
sudo make enable
License
MIT