package main import ( "DynDNS/env" "DynDNS/hetzner" "DynDNS/publicIp" "fmt" "os" ) func main() { env.LoadEnv() ip, err := publicIp.ReadIp() if err != nil { fmt.Printf("Error getting IP: %v\n", err) return } fmt.Printf("My IP is: %s\n", ip) zoneNames := env.ReadZones() fmt.Printf("Zones: %v\n", zoneNames) token := os.Getenv("HETZNER_API_TOKEN") zoneIds := hetzner.SendGetZones(token, zoneNames...) fmt.Printf("Zone IDs: %v\n", zoneIds) for _, zoneId := range zoneIds { records := hetzner.SendGetRecords(token, zoneId) for i := range records { record := &records[i] if record.Type == "A" { fmt.Printf("Updating record: %s\n", record.Name) record.Value = ip } } hetzner.SendUpdateRecords(token, records) } }