Files
qddns/cmd/qddns-client/main.go
2022-08-06 14:19:18 +02:00

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)
}