ipn/localapi, cmd/tailscale: add API to get prefs, CLI debug command to show

Updates #1436

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2021-04-07 08:27:35 -07:00
parent 03be116997
commit 50b309c1eb
5 changed files with 57 additions and 1 deletions

View File

@@ -18,6 +18,7 @@ import (
"strconv"
"strings"
"tailscale.com/ipn"
"tailscale.com/ipn/ipnstate"
"tailscale.com/paths"
"tailscale.com/safesocket"
@@ -199,3 +200,15 @@ func CheckIPForwarding(ctx context.Context) error {
}
return nil
}
func GetPrefs(ctx context.Context) (*ipn.Prefs, error) {
body, err := get200(ctx, "/localapi/v0/prefs")
if err != nil {
return nil, err
}
var p ipn.Prefs
if err := json.Unmarshal(body, &p); err != nil {
return nil, fmt.Errorf("invalid JSON from check-ip-forwarding: %w", err)
}
return &p, nil
}