| .gitignore | ||
| config.json | ||
| domains.txt | ||
| ionos-ddns.service | ||
| README.md | ||
| requirements.txt | ||
| update_ddns.py | ||
IONOS DDNS Auto-Updater & Creator
A Python-based system service that automatically updates DNS records on IONOS. Unlike standard DDNS scripts, this solution uses the IONOS REST API, allowing it to:
- Update existing DNS records.
- Create new DNS records automatically if they don't exist.
- Check the current DNS value before updating to avoid API rate limits.
Features
- Smart Check: Compares public IP with current DNS resolution before sending API requests.
- Auto-Discovery: Automatically detects which DNS Zone a subdomain belongs to.
- System Service: Runs as a background
systemdservice with crash protection. - Logging: Detailed logs in
/var/log/ionos-ddns.log.
Prerequisites
- Python 3
- An IONOS account with access to the "Developer API".
- An API Key (Prefix + Secret) generated at developer.hosting.ionos.com.
Installation
1. Clone the repository to /opt
It is recommended to install this in a system directory.
sudo mkdir -p /opt/ionos-ddns
sudo git clone [https://github.com/TWOJA_NAZWA/ionos-ddns.git](https://github.com/TWOJA_NAZWA/ionos-ddns.git) /opt/ionos-ddns
cd /opt/ionos-ddns