DynDNS Powershell

This commit is contained in:
2024-10-28 08:06:56 +01:00
parent f0e90f34ef
commit 6cdbcd3541

122
updatedns.ps1 Normal file
View File

@@ -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"
}
}