tailscale

package
v1.14.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2021 License: BSD-3-Clause Imports: 23 Imported by: 153

Documentation

Overview

Package tailscale contains Tailscale client code.

Index

Constants

This section is empty.

Variables

View Source
var TailscaledSocket = paths.DefaultTailscaledSocket()

TailscaledSocket is the tailscaled Unix socket.

Functions

func BugReport added in v1.8.0

func BugReport(ctx context.Context, note string) (string, error)

BugReport logs and returns a log marker that can be shared by the user with support.

func CertPair added in v1.14.0

func CertPair(ctx context.Context, domain string) (certPEM, keyPEM []byte, err error)

CertPair returns a cert and private key for the provided DNS domain.

It returns a cached certificate from disk if it's still valid.

func CheckIPForwarding added in v1.8.0

func CheckIPForwarding(ctx context.Context) error

func CurrentDERPMap added in v1.12.0

func CurrentDERPMap(ctx context.Context) (*tailcfg.DERPMap, error)

CurrentDERPMap returns the current DERPMap that is being used by the local tailscaled. It is intended to be used with netcheck to see availability of DERPs.

func DeleteWaitingFile added in v1.8.0

func DeleteWaitingFile(ctx context.Context, baseName string) error

func DoLocalRequest

func DoLocalRequest(req *http.Request) (*http.Response, error)

DoLocalRequest makes an HTTP request to the local machine's Tailscale daemon.

URLs are of the form http://local-tailscaled.sock/localapi/v0/whois?ip=1.2.3.4.

The hostname must be "local-tailscaled.sock", even though it doesn't actually do any DNS lookup. The actual means of connecting to and authenticating to the local Tailscale daemon vary by platform.

DoLocalRequest may mutate the request to add Authorization headers.

func EditPrefs added in v1.8.0

func EditPrefs(ctx context.Context, mp *ipn.MaskedPrefs) (*ipn.Prefs, error)

func ExpandSNIName added in v1.14.0

func ExpandSNIName(ctx context.Context, name string) (fqdn string, ok bool)

ExpandSNIName expands bare label name into the the most likely actual TLS cert name.

func FileTargets added in v1.8.0

func FileTargets(ctx context.Context) ([]apitype.FileTarget, error)

func GetCertificate added in v1.14.0

func GetCertificate(hi *tls.ClientHelloInfo) (*tls.Certificate, error)

GetCertificate fetches a TLS certificate for the TLS ClientHello in hi.

It returns a cached certificate from disk if it's still valid.

It's the right signature to use as the value of tls.Config.GetCertificate.

func GetPrefs added in v1.8.0

func GetPrefs(ctx context.Context) (*ipn.Prefs, error)

func GetWaitingFile added in v1.8.0

func GetWaitingFile(ctx context.Context, baseName string) (rc io.ReadCloser, size int64, err error)

func Goroutines

func Goroutines(ctx context.Context) ([]byte, error)

Goroutines returns a dump of the Tailscale daemon's current goroutines.

func Logout added in v1.8.0

func Logout(ctx context.Context) error

func SetDNS added in v1.10.0

func SetDNS(ctx context.Context, name, value string) error

SetDNS adds a DNS TXT record for the given domain name, containing the provided TXT value. The intended use case is answering LetsEncrypt/ACME dns-01 challenges.

The control plane will only permit SetDNS requests with very specific names and values. The name should be "_acme-challenge." + your node's MagicDNS name. It's expected that clients cache the certs from LetsEncrypt (or whichever CA is providing them) and only request new ones as needed; the control plane rate limits SetDNS requests.

This is a low-level interface; it's expected that most Tailscale users use a higher level interface to getting/using TLS certificates.

func Status added in v1.8.0

func Status(ctx context.Context) (*ipnstate.Status, error)

Status returns the Tailscale daemon's status.

func StatusWithoutPeers added in v1.8.0

func StatusWithoutPeers(ctx context.Context) (*ipnstate.Status, error)

StatusWithPeers returns the Tailscale daemon's status, without the peer info.

func WaitingFiles added in v1.8.0

func WaitingFiles(ctx context.Context) ([]apitype.WaitingFile, error)

func WhoIs

func WhoIs(ctx context.Context, remoteAddr string) (*apitype.WhoIsResponse, error)

WhoIs returns the owner of the remoteAddr, which must be an IP or IP:port.

Types

This section is empty.

Directories

Path Synopsis
Package apitype contains types for the Tailscale local API.
Package apitype contains types for the Tailscale local API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL