No description
- C# 100%
- 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> |
||
|---|---|---|
| HetznerDdns | ||
| .gitignore | ||
| README.md | ||
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:
- Öffne die Ereignisanzeige (
eventvwr.msc) - Navigiere zu Windows-Protokolle > Anwendung
- Filtere nach Quelle:
HetznerDdns
Hetzner API-Token erstellen
- Gehe zu https://console.hetzner.cloud
- Wähle dein Projekt
- Gehe zu Sicherheit > API-Tokens
- Erstelle einen neuen Token mit Lese- und Schreibzugriff
Lizenz
MIT