From 6cdbcd35415aea31c5c7e75313afba62407ce3ce Mon Sep 17 00:00:00 2001 From: Christian Albers Date: Mon, 28 Oct 2024 08:06:56 +0100 Subject: [PATCH] DynDNS Powershell --- updatedns.ps1 | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 updatedns.ps1 diff --git a/updatedns.ps1 b/updatedns.ps1 new file mode 100644 index 0000000..1b146a3 --- /dev/null +++ b/updatedns.ps1 @@ -0,0 +1,122 @@ +# IP-Adresse von dynamicdns.park-your-domain.com/getip abrufen +$ipServiceUrl = "https://dynamicdns.park-your-domain.com/getip" + +"=======================================" > "C:\beruflich\freedns\log.txt" + +Get-Date >> "C:\beruflich\freedns\log.txt" + +try { + $ipAddress = Invoke-RestMethod -Uri $ipServiceUrl + if (-not [string]::IsNullOrWhiteSpace($ipAddress)) { + "Aktuelle IP-Adresse: $ipAddress" >> "C:\beruflich\freedns\log.txt" + } else { + "Fehler: IP-Adresse konnte nicht abgerufen werden." >> "C:\beruflich\freedns\log.txt" + exit + } +} catch { + "Fehler beim Abrufen der IP-Adresse: $_" >> "C:\beruflich\freedns\log.txt" + exit +} + + +# https://dynv6.com/api/update?zone=ca-git.dynv6.net&token=b7yU-w8u1VcpJyXSCy4GHES8ALPnrz&ipv4=89.166.191.16 + +# DynDNS-Anbieter URLs und Anmeldedaten +$dyndnsProviders = @( + @{ + Name = "ca-bookmarks.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-bookmarks.dynv6.net" + }, + @{ + Name = "ca-ggg.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-ggg.dynv6.net" + }, + @{ + Name = "ca-git.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-git.dynv6.net" + }, + @{ + Name = "ca-gondor.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-gondor.dynv6.net" + }, + @{ + Name = "ca-gxbm.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-gxbm.dynv6.net" + }, + @{ + Name = "ca-nct.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-nct.dynv6.net" + }, + @{ + Name = "ca-nextcloud.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-nextcloud.dynv6.net" + }, + @{ + Name = "ca-notizen.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-notizen.dynv6.net" + }, + @{ + Name = "ca-paperless.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-paperless.dynv6.net" + }, + @{ + Name = "ca-passwort.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-passwort.dynv6.net" + }, + @{ + Name = "ca-projekte.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-projekte.dynv6.net" + }, + @{ + Name = "ca-rss.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-rss.dynv6.net" + }, + @{ + Name = "ca-twitter.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "b7yU-w8u1VcpJyXSCy4GHES8ALPnrz" + Hostname = "ca-twitter.dynv6.net" + }, + @{ + Name = "cactus24.dynv6.net" + UpdateUrl = "https://dynv6.com/api/update" + token = "holen auf https://dynv6.com/keys" + Hostname = "cactus24.dynv6.net" + } +) + +# Durch jeden Anbieter iterieren und IP-Adresse aktualisieren +foreach ($provider in $dyndnsProviders) { + $updateUrl = "$($provider.UpdateUrl)?zone=$($provider.Hostname)&ipv4=$ipAddress&ipv6=auto&token=$($provider.token)" + #write-Host $UpdateUrl + try { + $response = Invoke-RestMethod -Uri $updateUrl -Method Get + "$($provider.Name) Update erfolgreich: $response" >> "C:\beruflich\freedns\log.txt" + } catch { + Write-Host "Fehler beim Aktualisieren von $($provider.Name): $_" >> "C:\beruflich\freedns\log.txt" + } +}