package main import ( "fmt" "io" "net/http" "os" "time" ) func main() { DEV_TESTING := os.Getenv("DYNDNS_URL") DYNDNS_URL := os.Getenv("DYNDNS_URL") DYNDNS_ADDRESS := os.Getenv("DYNDNS_ADDRESS") DYNDNS_IPv4 := os.Getenv("DYNDNS_IPv4") DYNDNS_IPv6 := os.Getenv("DYNDNS_IPv6") DYNDNS_USERNAME := os.Getenv("DYNDNS_USERNAME") DYNDNS_PASSWORD := os.Getenv("DYNDNS_PASSWORD") DYNDNS_IPv4_ADDR_RESOLVER := os.Getenv("DYNDNS_IPv4_ADDR_RESOLVER") DYNDNS_IPv6_ADDR_RESOLVER := os.Getenv("DYNDNS_IPv6_ADDR_RESOLVER") if DYNDNS_IPv4_ADDR_RESOLVER == "" { DYNDNS_IPv4_ADDR_RESOLVER = "https://dns.hilden.info/ip" } if DYNDNS_IPv6_ADDR_RESOLVER == "" { DYNDNS_IPv6_ADDR_RESOLVER = "https://dns.hilden.info/ip" } if DEV_TESTING == "" { DYNDNS_URL = "https://dns.hilden.info" DYNDNS_ADDRESS = "devtest.dns.hilden.info" DYNDNS_IPv4 = "9.8.7.6" DYNDNS_IPv6 = "2001:db8::1" DYNDNS_USERNAME = "admin" DYNDNS_PASSWORD = "password" DYNDNS_IPv4_ADDR_RESOLVER = "https://dns.hilden.info/ip" DYNDNS_IPv6_ADDR_RESOLVER = "https://dns.hilden.info/ip" } for { /*GetIPv4*/ respipv4, err := http.Get(DYNDNS_IPv4_ADDR_RESOLVER) if err != nil { fmt.Println("Fehler beim Abrufen der URL:", DYNDNS_IPv4_ADDR_RESOLVER, err) } else { body, err := io.ReadAll(respipv4.Body) if err != nil { fmt.Println("Fehler beim Lesen des Antwort-Bodys:", err) } else { // Antwort-Inhalt ausgeben DYNDNS_IPv4 = string(body) fmt.Println("Statuscode:", respipv4.StatusCode) fmt.Println("Antwort-Inhalt:", string(body)) } respipv4.Body.Close() } /*GetIPv6*/ respipv6, err := http.Get(DYNDNS_IPv6_ADDR_RESOLVER) if err != nil { fmt.Println("Fehler beim Abrufen der URL:", DYNDNS_IPv6_ADDR_RESOLVER, err) } else { body, err := io.ReadAll(respipv6.Body) if err != nil { fmt.Println("Fehler beim Lesen des Antwort-Bodys:", err) } else { // Antwort-Inhalt ausgeben DYNDNS_IPv6 = string(body) fmt.Println("Statuscode:", respipv6.StatusCode) fmt.Println("Antwort-Inhalt:", string(body)) } respipv6.Body.Close() } /**/ url := DYNDNS_URL + "/?DDNS=" + DYNDNS_ADDRESS + "&IP=" + DYNDNS_IPv4 + "&IPv6=" + DYNDNS_IPv6 + "&USER=" + DYNDNS_USERNAME + "&TOKEN=" + DYNDNS_PASSWORD resp, err := http.Get(url) if err != nil { fmt.Println("Fehler beim Abrufen der URL:", DYNDNS_IPv6_ADDR_RESOLVER, err) } else { body, err := io.ReadAll(resp.Body) if err != nil { fmt.Println("Fehler beim Lesen des Antwort-Bodys:", err) } else { // Antwort-Inhalt ausgeben fmt.Println("Statuscode:", resp.StatusCode) fmt.Println("Antwort-Inhalt:", string(body)) } resp.Body.Close() } time.Sleep(5 * time.Minute) } }