No description
Find a file
Stefan Auschner 1ad1beb712 Initial commit: Hetzner DDNS Windows Service
- Windows Service for automatic DNS updates via Hetzner Cloud API
- Configurable update interval
- Windows Event Log integration
- Self-contained publish support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 11:33:43 +01:00
HetznerDdns Initial commit: Hetzner DDNS Windows Service 2026-02-06 11:33:43 +01:00
.gitignore Initial commit: Hetzner DDNS Windows Service 2026-02-06 11:33:43 +01:00
README.md Initial commit: Hetzner DDNS Windows Service 2026-02-06 11:33:43 +01:00

HetznerDdns

Windows-Dienst zur automatischen Aktualisierung von DNS-Einträgen bei Hetzner Cloud bei dynamischer IP-Adresse.

Features

  • Automatische Erkennung der öffentlichen IPv4-Adresse
  • Aktualisierung von A-Records über die Hetzner Cloud API
  • Konfigurierbares Update-Intervall
  • Läuft als Windows-Dienst
  • Logging ins Windows Event Log

Voraussetzungen

  • Windows 10/11 oder Windows Server
  • .NET 9.0 Runtime (oder selbstständige Veröffentlichung)
  • Hetzner Cloud API-Token mit DNS-Berechtigungen

Konfiguration

Bearbeite appsettings.json:

{
  "DdnsSettings": {
    "ApiToken": "DEIN_HETZNER_API_TOKEN",
    "ZoneName": "example.com",
    "RecordName": "home",
    "UpdateIntervalMinutes": 5
  }
}
Einstellung Beschreibung
ApiToken Hetzner Cloud API-Token (https://console.hetzner.cloud)
ZoneName Die DNS-Zone (Domain), z.B. example.com
RecordName Der Subdomain-Name, z.B. home für home.example.com
UpdateIntervalMinutes Prüfintervall in Minuten

Bauen

cd HetznerDdns
dotnet build -c Release

Veröffentlichen (Self-Contained)

dotnet publish -c Release -o publish

Die Ausgabe enthält eine einzelne HetznerDdns.exe mit allen Abhängigkeiten.

Testen (Konsole)

dotnet run

Oder nach dem Veröffentlichen:

.\publish\HetznerDdns.exe

Beenden mit Ctrl+C.

Als Windows-Dienst installieren

Öffne eine Administrator-Eingabeaufforderung:

sc create HetznerDdns binPath= "C:\Pfad\zu\HetznerDdns.exe" start= auto
sc description HetznerDdns "Hetzner Dynamic DNS Updater"
sc start HetznerDdns

Dienst verwalten

sc stop HetznerDdns
sc start HetznerDdns
sc query HetznerDdns

Dienst deinstallieren

sc stop HetznerDdns
sc delete HetznerDdns

Logs

Die Logs werden ins Windows Event Log geschrieben:

  1. Öffne die Ereignisanzeige (eventvwr.msc)
  2. Navigiere zu Windows-Protokolle > Anwendung
  3. Filtere nach Quelle: HetznerDdns

Hetzner API-Token erstellen

  1. Gehe zu https://console.hetzner.cloud
  2. Wähle dein Projekt
  3. Gehe zu Sicherheit > API-Tokens
  4. Erstelle einen neuen Token mit Lese- und Schreibzugriff

Lizenz

MIT