DynDNS Powershell
This commit is contained in:
122
updatedns.ps1
Normal file
122
updatedns.ps1
Normal 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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user