36 lines
661 B
Go
36 lines
661 B
Go
package dynv6
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
type Dynv6 struct {
|
|
HostName string
|
|
Password string
|
|
IP string
|
|
}
|
|
|
|
func New(Hostname string, Password string, IP string) (*Dynv6, error) {
|
|
p := Dynv6{HostName: Hostname, Password: Password, IP: IP}
|
|
return &p, nil
|
|
}
|
|
|
|
func (p Dynv6) SetDomainRecord(domain, ip string) error {
|
|
url := fmt.Sprintf(
|
|
"http://dynv6.com/api/update?hostname=%s&token=%s&ipv4=%s",
|
|
p.HostName,
|
|
p.Password,
|
|
p.IP)
|
|
|
|
// Make the HTTP GET request
|
|
time.Sleep(time.Millisecond * 200) // avoid request too fast after login
|
|
resp, err := http.Get(url)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer resp.Body.Close()
|
|
return nil
|
|
}
|