41 lines
964 B
Go
41 lines
964 B
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"flag"
|
|
"fmt"
|
|
"github.com/thequux/qddns/common"
|
|
"io/ioutil"
|
|
"net/http"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
var server = flag.String("server", "https://dyn.thequux.com", "The URL of the DDNS server")
|
|
var domain = flag.String("domain", "", "The domain to update")
|
|
var token = flag.String("token", "", "The authorization token")
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
req, err := http.NewRequest("POST", *server+"/update/"+*domain, strings.NewReader(""))
|
|
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Failed to create request: %v", err)
|
|
os.Exit(1)
|
|
}
|
|
req.Header["Authorization"] = []string{"bearer " + *token}
|
|
resp, err := http.DefaultClient.Do(req)
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stdout, "Failed to send request: %v", err)
|
|
os.Exit(1)
|
|
}
|
|
body, err := ioutil.ReadAll(resp.Body)
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "Failed to read response")
|
|
os.Exit(1)
|
|
}
|
|
rj := common.Response{}
|
|
json.Unmarshal(body, &rj)
|
|
fmt.Printf("%v\n", rj)
|
|
}
|