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.
 
 
Alinson S. Xavier 4bb94bdb61
Use zone ID instead of name
4 years ago
etc Update DNS repeatedly 5 years ago
.gitignore Initial version 5 years ago
COPYING.md Add license 5 years ago
Makefile Update DNS repeatedly 5 years ago
README.md Update README.md 5 years ago
hetzner-ddns.py Use zone ID instead of name 4 years ago

README.md

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.

  1. Install Python and pip:
sudo apt install python3 python3-pip
  1. Install package dependencies:
sudo pip3 install docopt
  1. Clone the repository somewhere:
git clone https://github.com/iSoron/hetzner-ddns.git
  1. Install the script system-wide:
cd hetzner-ddns
sudo make install
  1. Create a configuration file in /etc/hetzner-ddns.conf with you API token. See /etc/hetzner-ddns.conf.example for an example.

  2. Run script and enable it during boot:

sudo make start
sudo make enable

License

MIT