all: replace /kb/ links with /s/ equivalents

Signed-off-by: Maisem Ali <maisem@tailscale.com>
pull/7526/head
Maisem Ali 2 years ago committed by Maisem Ali
parent 558735bc63
commit 5e8a80b845

@ -103,7 +103,7 @@ func (c *Client) ACL(ctx context.Context) (acl *ACL, err error) {
// it as a string. // it as a string.
// HuJSON is JSON with a few modifications to make it more human-friendly. The primary // HuJSON is JSON with a few modifications to make it more human-friendly. The primary
// changes are allowing comments and trailing comments. See the following links for more info: // changes are allowing comments and trailing comments. See the following links for more info:
// https://tailscale.com/kb/1018/acls?q=acl#tailscale-acl-policy-format // https://tailscale.com/s/acl-format
// https://github.com/tailscale/hujson // https://github.com/tailscale/hujson
func (c *Client) ACLHuJSON(ctx context.Context) (acl *ACLHuJSON, err error) { func (c *Client) ACLHuJSON(ctx context.Context) (acl *ACLHuJSON, err error) {
// Format return errors to be descriptive. // Format return errors to be descriptive.

@ -2,7 +2,7 @@
// SPDX-License-Identifier: BSD-3-Clause // SPDX-License-Identifier: BSD-3-Clause
// get-authkey allocates an authkey using an OAuth API client // get-authkey allocates an authkey using an OAuth API client
// https://tailscale.com/kb/1215/oauth-clients/ and prints it // https://tailscale.com/s/oauth-clients and prints it
// to stdout for scripts to capture and use. // to stdout for scripts to capture and use.
package main package main

@ -41,7 +41,7 @@ This command is intended to run at boot as root on a Synology device to
create the /dev/net/tun device and give the tailscaled binary permission create the /dev/net/tun device and give the tailscaled binary permission
to use it. to use it.
See: https://tailscale.com/kb/1152/synology-outbound/ See: https://tailscale.com/s/synology-outbound
`), `),
FlagSet: (func() *flag.FlagSet { FlagSet: (func() *flag.FlagSet {
fs := newFlagSet("synology") fs := newFlagSet("synology")

@ -145,11 +145,11 @@ func newUpdater() (*updater, error) {
case strings.HasSuffix(os.Getenv("HOME"), "/io.tailscale.ipn.macsys/Data"): case strings.HasSuffix(os.Getenv("HOME"), "/io.tailscale.ipn.macsys/Data"):
up.update = up.updateMacSys up.update = up.updateMacSys
default: default:
return nil, errors.New("This is the macOS App Store version of Tailscale; update in the App Store, or see https://tailscale.com/kb/1083/install-unstable/ to use TestFlight or to install the non-App Store version") return nil, errors.New("This is the macOS App Store version of Tailscale; update in the App Store, or see https://tailscale.com/s/unstable-clients to use TestFlight or to install the non-App Store version")
} }
} }
if up.update == nil { if up.update == nil {
return nil, errors.New("The 'update' command is not supported on this platform; see https://tailscale.com/kb/1067/update/") return nil, errors.New("The 'update' command is not supported on this platform; see https://tailscale.com/s/client-updates")
} }
return up, nil return up, nil
} }

@ -190,13 +190,13 @@ func (sc *ServeConfig) IsFunnelOn() bool {
// Funnel. // Funnel.
func CheckFunnelAccess(port uint16, nodeAttrs []string) error { func CheckFunnelAccess(port uint16, nodeAttrs []string) error {
if slices.Contains(nodeAttrs, tailcfg.CapabilityWarnFunnelNoInvite) { if slices.Contains(nodeAttrs, tailcfg.CapabilityWarnFunnelNoInvite) {
return errors.New("Funnel not available; an invite is required to join the alpha. See https://tailscale.com/kb/1223/tailscale-funnel/.") return errors.New("Funnel not available; an invite is required to join the alpha. See https://tailscale.com/s/no-funnel.")
} }
if slices.Contains(nodeAttrs, tailcfg.CapabilityWarnFunnelNoHTTPS) { if slices.Contains(nodeAttrs, tailcfg.CapabilityWarnFunnelNoHTTPS) {
return errors.New("Funnel not available; HTTPS must be enabled. See https://tailscale.com/kb/1153/enabling-https/.") return errors.New("Funnel not available; HTTPS must be enabled. See https://tailscale.com/s/https.")
} }
if !slices.Contains(nodeAttrs, tailcfg.NodeAttrFunnel) { if !slices.Contains(nodeAttrs, tailcfg.NodeAttrFunnel) {
return errors.New("Funnel not available; \"funnel\" node attribute not set. See https://tailscale.com/kb/1223/tailscale-funnel/.") return errors.New("Funnel not available; \"funnel\" node attribute not set. See https://tailscale.com/s/no-funnel.")
} }
return checkFunnelPort(port, nodeAttrs) return checkFunnelPort(port, nodeAttrs)
} }

@ -65,7 +65,7 @@ func CheckIPForwarding(routes []netip.Prefix, state *interfaces.State) (warn, er
} }
return nil, nil return nil, nil
} }
const kbLink = "\nSee https://tailscale.com/kb/1104/enable-ip-forwarding/" const kbLink = "\nSee https://tailscale.com/s/ip-forwarding"
if state == nil { if state == nil {
var err error var err error
state, err = interfaces.GetState() state, err = interfaces.GetState()

@ -26,7 +26,7 @@ var chromeOSRange oncePrefix
// CGNATRange returns the Carrier Grade NAT address range that // CGNATRange returns the Carrier Grade NAT address range that
// is the superset range that Tailscale assigns out of. // is the superset range that Tailscale assigns out of.
// See https://tailscale.com/kb/1015/100.x-addresses. // See https://tailscale.com/s/cgnat
// Note that Tailscale does not assign out of the ChromeOSVMRange. // Note that Tailscale does not assign out of the ChromeOSVMRange.
func CGNATRange() netip.Prefix { func CGNATRange() netip.Prefix {
cgnatRange.Do(func() { mustPrefix(&cgnatRange.v, "100.64.0.0/10") }) cgnatRange.Do(func() { mustPrefix(&cgnatRange.v, "100.64.0.0/10") })

@ -83,7 +83,7 @@ type Server struct {
Logf logger.Logf Logf logger.Logf
// Ephemeral, if true, specifies that the instance should register // Ephemeral, if true, specifies that the instance should register
// as an Ephemeral node (https://tailscale.com/kb/1111/ephemeral-nodes/). // as an Ephemeral node (https://tailscale.com/s/ephemeral-nodes).
Ephemeral bool Ephemeral bool
// AuthKey, if non-empty, is the auth key to create the node // AuthKey, if non-empty, is the auth key to create the node
@ -822,7 +822,7 @@ func (s *Server) ListenTLS(network, addr string) (net.Listener, error) {
return nil, err return nil, err
} }
if len(st.CertDomains) == 0 { if len(st.CertDomains) == 0 {
return nil, errors.New("tsnet: you must enable HTTPS in the admin panel to proceed. See https://tailscale.com/kb/1153/enabling-https/") return nil, errors.New("tsnet: you must enable HTTPS in the admin panel to proceed. See https://tailscale.com/s/https")
} }
lc, err := s.LocalClient() // do local client first before listening. lc, err := s.LocalClient() // do local client first before listening.

Loading…
Cancel
Save