Bel LaPointe 2022-01-13 10:36:44 -05:00
parent d2cf67828e
commit 066ca15d9c
1 changed files with 5 additions and 1 deletions

View File

@ -52,7 +52,9 @@ func main() {
domain := flag.String("domain", "blapoionte.com", "domain to modify") domain := flag.String("domain", "blapoionte.com", "domain to modify")
subdomain := flag.String("prefix", "*.home.", "subdomain to modify") subdomain := flag.String("prefix", "*.home.", "subdomain to modify")
flag.Parse() flag.Parse()
resp, err := http.Get("https://www.namesilo.com/api/dnsListRecords?version=1&type=xml&key=7a26bd4b7aedbc6c44f56af38&domain=" + *domain) uri := "https://www.namesilo.com/api/dnsListRecords?version=1&type=xml&key=7a26bd4b7aedbc6c44f56af38&domain=" + *domain
log.Printf("uri=%s", uri)
resp, err := http.Get(uri)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -78,12 +80,14 @@ func main() {
if err := json.NewDecoder(strings.NewReader(js.String())).Decode(&rawraw); err != nil { if err := json.NewDecoder(strings.NewReader(js.String())).Decode(&rawraw); err != nil {
panic(err) panic(err)
} }
log.Printf("looking for host == %s", *subdomain+*domain)
for _, v := range rawraw.Namesilo.Reply.ResourceRecord { for _, v := range rawraw.Namesilo.Reply.ResourceRecord {
if v.Host == *subdomain+*domain { if v.Host == *subdomain+*domain {
rrid := v.RecordID rrid := v.RecordID
ip := rawraw.Namesilo.Request.IP ip := rawraw.Namesilo.Request.IP
log.Println(rrid, ip) log.Println(rrid, ip)
url := fmt.Sprintf("https://www.namesilo.com/api/dnsUpdateRecord?version=1&type=xml&key=7a26bd4b7aedbc6c44f56af38&domain="+*domain+"&rrid=%s&rrhost="+strings.TrimRight(*subdomain, ".")+"&rrvalue=%s&rrttl=3600", rrid, ip) url := fmt.Sprintf("https://www.namesilo.com/api/dnsUpdateRecord?version=1&type=xml&key=7a26bd4b7aedbc6c44f56af38&domain="+*domain+"&rrid=%s&rrhost="+strings.TrimRight(*subdomain, ".")+"&rrvalue=%s&rrttl=3600", rrid, ip)
log.Printf("updating via %s", url)
resp, err := http.Get(url) resp, err := http.Get(url)
b, _ := ioutil.ReadAll(resp.Body) b, _ := ioutil.ReadAll(resp.Body)
js, _ := xj.Convert(bytes.NewBuffer(b)) js, _ := xj.Convert(bytes.NewBuffer(b))