package tailscaleroot
import "tailscale.com"
Package tailscaleroot embeds VERSION.txt into the binary.
Index ¶
Variables ¶
var AlpineDockerTag string
var GoToolchainRev string
GoToolchainRev is the git hash from github.com/tailscale/go that this release should be built using. It may end in a newline.
var VersionDotTxt string
VersionDotTxt is the contents of VERSION.txt. Despite the tempting filename, this does not necessarily contain the accurate version number of the build, which depends on the branch type and how it was built. To get version information, use the version package instead.
Source Files ¶
version-embed.go
Directories ¶
Path | Synopsis |
---|---|
appc | Package appc implements App Connectors. |
appc/appctest | Package appctest contains code to help test App Connectors. |
atomicfile | Package atomicfile contains code related to writing to filesystems atomically. |
chirp | Package chirp implements a client to communicate with the BIRD Internet Routing Daemon. |
client | |
client/local | Package local contains a Go client for the Tailscale LocalAPI. |
client/systray | Package systray provides a minimal Tailscale systray application. |
client/tailscale | Package tailscale contains a Go client for the Tailscale control plane API. |
client/tailscale/apitype | Package apitype contains types for the Tailscale LocalAPI and control plane API. |
client/tailscale/example | |
client/tailscale/example/servetls | The servetls program shows how to run an HTTPS server using a Tailscale cert via LetsEncrypt. |
clientupdate | Package clientupdate implements tailscale client update for all supported platforms. |
clientupdate/distsign | Package distsign implements signature and validation of arbitrary distributable files. |
client/web | Package web provides the Tailscale client for web. |
cmd | |
cmd/addlicense | Program addlicense adds a license header to a file. |
cmd/build-webclient | The build-webclient tool generates the static resources needed for the web client (code at client/web). |
cmd/checkmetrics | checkmetrics validates that all metrics in the tailscale client-metrics are documented in a given path or URL. |
cmd/cloner | Cloner is a tool to automate the creation of a Clone method. |
cmd/cloner/clonerex | Package clonerex is an example package for the cloner tool. |
cmd/connector-gen | connector-gen is a tool to generate app connector configuration and flags from service provider address data. |
cmd/containerboot | The containerboot binary is a wrapper for starting tailscaled in a container. |
cmd/derper | The derper binary is a simple DERP server. |
cmd/derpprobe | The derpprobe binary probes derpers. |
cmd/dist | The dist command builds Tailscale release packages for distribution. |
cmd/get-authkey | get-authkey allocates an authkey using an OAuth API client https://tailscale.com/s/oauth-clients and prints it to stdout for scripts to capture and use. |
cmd/gitops-pusher | Command gitops-pusher allows users to use a GitOps flow for managing Tailscale ACLs. |
cmd/hello | The hello binary runs hello.ts.net. |
cmd/k8s-nameserver | k8s-nameserver is a simple nameserver implementation meant to be used with k8s-operator to allow to resolve magicDNS names associated with tailnet proxies in cluster. |
cmd/k8s-operator | tailscale-operator provides a way to expose services running in a Kubernetes cluster to your Tailnet. |
cmd/k8s-operator/e2e | |
cmd/k8s-operator/generate | The generate command creates tailscale.com CRDs. |
cmd/mkmanifest | The mkmanifest command is a simple helper utility to create a '.syso' file that contains a Windows manifest file. |
cmd/mkpkg | mkpkg builds the Tailscale rpm and deb packages. |
cmd/mkversion | mkversion gets version info from git and outputs a bunch of shell variables that get used elsewhere in the build system to embed version numbers into binaries. |
cmd/nardump | nardump is like nix-store --dump, but in Go, writing a NAR file (tar-like, but focused on being reproducible) to stdout or to a hash with the --sri flag. |
cmd/natc | The natc command is a work-in-progress implementation of a NAT based connector for Tailscale. |
cmd/natc/ippool | ippool implements IP address storage, creation, and retrieval for cmd/natc |
cmd/netlogfmt | netlogfmt parses a stream of JSON log messages from stdin and formats the network traffic logs produced by "tailscale.com/wgengine/netlog" according to the schema in "tailscale.com/types/netlogtype.Message" in a more humanly readable format. |
cmd/nginx-auth | Command nginx-auth is a tool that allows users to use Tailscale Whois authentication with NGINX as a reverse proxy. |
cmd/pgproxy | The pgproxy server is a proxy for the Postgres wire protocol. |
cmd/printdep | The printdep command is a build system tool for printing out information about dependencies. |
cmd/proxy-to-grafana | proxy-to-grafana is a reverse proxy which identifies users based on their originating Tailscale identity and maps them to corresponding Grafana users, creating them if needed. |
cmd/sniproxy | The sniproxy is an outbound SNI proxy. |
cmd/speedtest | Example usage for client command: go run cmd/speedtest -host 127.0.0.1:20333 -t 5s This will connect to the server on 127.0.0.1:20333 and start a 5 second download speedtest. |
cmd/ssh-auth-none-demo | ssh-auth-none-demo is a demo SSH server that's meant to run on the public internet (at 188.166.70.128 port 2222) and highlight the unique parts of the Tailscale SSH server so SSH client authors can hit it easily and fix their SSH clients without needing to set up Tailscale and Tailscale SSH. |
cmd/stunc | Command stunc makes a STUN request to a STUN server and prints the result. |
cmd/stund | The stund binary is a standalone STUN server. |
cmd/stunstamp | The stunstamp binary measures round-trip latency with DERPs. |
cmd/sync-containers | The sync-containers command synchronizes container image tags from one registry to another. |
cmd/systray | systray is a minimal Tailscale systray application. |
cmd/tailscale | The tailscale command is the Tailscale command-line client. |
cmd/tailscale/cli | Package cli contains the cmd/tailscale CLI code in a package that can be included in other wrapper binaries such as the Mac and Windows clients. |
cmd/tailscale/cli/ffcomplete | Package ffcomplete provides shell tab-completion of subcommands, flags and arguments for Go programs written with ffcli. |
cmd/tailscale/cli/ffcomplete/internal | Package internal contains internal code for the ffcomplete package. |
cmd/tailscaled | The tailscaled program is the Tailscale client daemon. |
cmd/tailscaled/childproc | Package childproc allows other packages to register "tailscaled be-child" child process hook code. |
cmd/tailscaled/tailscaledhooks | Package tailscaledhooks provides hooks for optional features to add to during init that tailscaled calls at runtime. |
cmd/testcontrol | Program testcontrol runs a simple test control server. |
cmd/testwrapper | testwrapper is a wrapper for retrying flaky tests. |
cmd/testwrapper/flakytest | Package flakytest contains test helpers for marking a test as flaky. |
cmd/tl-longchain | Program tl-longchain prints commands to re-sign Tailscale nodes that have long rotation signature chains. |
cmd/tsconnect | The tsconnect command builds and serves the static site that is generated for the Tailscale Connect JS/WASM client. |
cmd/tsidp | The tsidp command is an OpenID Connect Identity Provider server. |
cmd/tta | The tta server is the Tailscale Test Agent. |
cmd/viewer | Viewer is a tool to automate the creation of "view" wrapper types that provide read-only accessor methods to underlying fields. |
cmd/viewer/tests | Package tests serves a list of tests for tailscale.com/cmd/viewer. |
cmd/vnet | The vnet binary runs a virtual network stack in userspace for qemu instances to connect to and simulate various network conditions. |
cmd/xdpderper | Command xdpderper runs the XDP STUN server. |
control | |
control/controlbase | Package controlbase implements the base transport of the Tailscale 2021 control protocol. |
control/controlclient | Package controlclient implements the client for the Tailscale control plane. |
control/controlhttp | Package controlhttp implements the Tailscale 2021 control protocol base transport over HTTP. |
control/controlhttp/controlhttpcommon | Package controlhttpcommon contains common constants for used by the controlhttp client and controlhttpserver packages. |
control/controlhttp/controlhttpserver | Package controlhttpserver contains the HTTP server side of the ts2021 control protocol. |
control/controlknobs | Package controlknobs contains client options configurable from control which can be turned on or off. |
derp | Package derp implements the Designated Encrypted Relay for Packets (DERP) protocol. |
derp/derpconst | Package derpconst contains constants used by the DERP client and server. |
derp/derphttp | Package derphttp implements DERP-over-HTTP. |
derp/xdp | Package xdp contains the XDP STUN program. |
derp/xdp/headers | The update program fetches the libbpf headers from the libbpf GitHub repository and writes them to disk. |
disco | Package disco contains the discovery message types. |
docs | |
docs/webhooks | Command webhooks provides example consumer code for Tailscale webhooks. |
doctor | Package doctor contains more in-depth healthchecks that can be run to aid in diagnosing Tailscale issues. |
doctor/ethtool | Package ethtool provides a doctor.Check that prints diagnostic information obtained from the 'ethtool' utility on the current system. |
doctor/permissions | Package permissions provides a doctor.Check that prints the process permissions for the running process. |
doctor/routetable | Package routetable provides a doctor.Check that dumps the current system's route table to the log. |
drive | Package drive provides a filesystem that allows sharing folders between Tailscale nodes using WebDAV. |
drive/driveimpl | Package driveimpl provides an implementation of package drive. |
drive/driveimpl/compositedav | Package compositedav provides an http.Handler that composes multiple WebDAV services into a single WebDAV service that presents each of them as its own folder. |
drive/driveimpl/dirfs | Package dirfs provides a webdav.FileSystem that looks like a read-only directory containing only subdirectories. |
drive/driveimpl/shared | Package shared contains types and functions shared by different drive packages. |
envknob | Package envknob provides access to environment-variable tweakable debug settings. |
envknob/featureknob | Package featureknob provides a facility to control whether features can run based on either an envknob or running OS / distro. |
envknob/logknob | Package logknob provides a helpful wrapper that allows enabling logging based on either an envknob or other methods of enablement. |
feature | Package feature tracks which features are linked into the binary. |
feature/capture | Package capture formats packet logging into a debug pcap stream. |
feature/capture/dissector | Package dissector contains the Lua dissector for Tailscale packets. |
feature/condregister | The condregister package registers all conditional features guarded by build tags. |
feature/relayserver | Package relayserver registers the relay server feature and implements its associated ipnext.Extension. |
feature/taildrop | Package taildrop registers the taildrop (file sending) feature. |
feature/tap | Package tap registers Tailscale's experimental (demo) Linux TAP (Layer 2) support. |
feature/tpm | Package tpm implements support for TPM 2.0 devices. |
feature/wakeonlan | Package wakeonlan registers the Wake-on-LAN feature. |
health | Package health is a registry for other packages to report & check overall health status of the node. |
health/healthmsg | Package healthmsg contains some constants for health messages. |
hostinfo | Package hostinfo answers questions about the host environment that Tailscale is running on. |
internal | |
ipn | Package ipn implements the interactions between the Tailscale cloud control plane and the local network stack. |
ipn/auditlog | Package auditlog provides a mechanism for logging audit events. |
ipn/conffile | Package conffile contains code to load, manipulate, and access config file settings. |
ipn/desktop | Package desktop facilitates interaction with the desktop environment and user sessions. |
ipn/ipnauth | Package ipnauth controls access to the LocalAPI. |
ipn/ipnext | Package ipnext defines types and interfaces used for extending the core LocalBackend functionality with additional features and services. |
ipn/ipnlocal | Package ipnlocal is the heart of the Tailscale node agent that controls all the other misc pieces of the Tailscale node. |
ipn/ipnserver | Package ipnserver runs the LocalAPI HTTP server that communicates with the LocalBackend. |
ipn/ipnstate | Package ipnstate captures the entire state of the Tailscale network. |
ipn/lapitest | Package lapitest provides utilities for black-box testing of LocalAPI (ipnserver). |
ipn/localapi | Package localapi contains the HTTP server handlers for tailscaled's API server. |
ipn/policy | Package policy contains various policy decisions that need to be shared between the node client & control server. |
ipn/store | Package store provides various implementation of ipn.StateStore. |
ipn/store/awsstore | Package awsstore contains an ipn.StateStore implementation using AWS SSM. |
ipn/store/kubestore | Package kubestore contains an ipn.StateStore implementation using Kubernetes Secrets. |
ipn/store/mem | Package mem provides an in-memory ipn.StateStore implementation. |
jsondb | Package jsondb provides a trivial "database": a Go object saved to disk as JSON. |
k8s-operator | Package kube contains types and utilities for the Tailscale Kubernetes Operator. |
k8s-operator/api-proxy | Package apiproxy contains the Kubernetes API Proxy implementation used by k8s-operator and k8s-proxy. |
k8s-operator/apis | Package apis contains a constant to name the Tailscale Kubernetes Operator's schema group. |
k8s-operator/apis/v1alpha1 | +kubebuilder:object:generate=true +groupName=tailscale.com |
k8s-operator/sessionrecording | Package sessionrecording contains functionality for recording Kubernetes API server proxy 'kubectl exec' sessions. |
k8s-operator/sessionrecording/fakes | Package fakes contains mocks used for testing 'kubectl exec' session recording functionality. |
k8s-operator/sessionrecording/spdy | Package spdy contains functionality for parsing SPDY streaming sessions. |
k8s-operator/sessionrecording/tsrecorder | Package tsrecorder contains functionality for connecting to a tsrecorder instance. |
k8s-operator/sessionrecording/ws | package ws has functionality to parse 'kubectl exec' sessions streamed using WebSocket protocol. |
kube | |
kube/egressservices | Package egressservices contains shared types for exposing tailnet services to cluster workloads. |
kube/ingressservices | Package ingressservices contains shared types for exposing Kubernetes Services to tailnet. |
kube/kubeapi | Package kubeapi contains Kubernetes API types for internal consumption. |
kube/kubeclient | Package kubeclient provides a client to interact with Kubernetes. |
kube/kubetypes | Package kubetypes contains types and constants related to the Tailscale Kubernetes Operator. |
licenses | Package licenses provides utilities for working with open source licenses. |
log | |
log/filelogger | Package filelogger provides localdisk log writing & rotation, primarily for Windows clients. |
logpolicy | Package logpolicy manages the creation or reuse of logtail loggers, caching collection instance state on disk for use on future runs of programs on the same machine. |
log/sockstatlog | Package sockstatlog provides a logger for capturing network socket stats for debugging. |
logtail | Package logtail sends logs to log.tailscale.com. |
logtail/backoff | Package backoff provides a back-off timer type. |
logtail/example | |
logtail/example/logadopt | Command logadopt is a CLI tool to adopt a machine into a logtail collection. |
logtail/example/logreprocess | The logreprocess program tails a log and reprocesses it. |
logtail/example/logtail | The logtail program logs stdin. |
logtail/filch | Package filch is a file system queue that pilfers your stderr. |
maths | Package maths contains additional mathematical functions or structures not found in the standard library. |
metrics | Package metrics contains expvar & Prometheus types and code used by Tailscale for monitoring. |
net | |
net/art | Package art provides a routing table that implements the Allotment Routing Table (ART) algorithm by Donald Knuth, as described in the paper by Yoichi Hariguchi. |
net/bakedroots | Package bakedroots contains WebPKI CA roots we bake into the tailscaled binary, lest the system's CA roots be missing them (or entirely empty). |
net/captivedetection | Package captivedetection provides a way to detect if the system is connected to a network that has a captive portal. |
net/connstats | Package connstats maintains statistics about connections flowing through a TUN device (which operate at the IP layer). |
net/dns | Package dns contains code to configure and manage DNS settings. |
net/dnscache | Package dnscache contains a minimal DNS cache that makes a bunch of assumptions that are only valid for us. |
net/dnsfallback | Package dnsfallback contains a DNS fallback mechanism for starting up Tailscale when the system DNS is broken or otherwise unavailable. |
net/dns/publicdns | Package publicdns contains mapping and helpers for working with public DNS providers. |
net/dns/recursive | Package recursive implements a simple recursive DNS resolver. |
net/dns/resolvconffile | Package resolvconffile parses & serializes /etc/resolv.conf-style files. |
net/dns/resolver | Package resolver implements a stub DNS resolver that can also serve records out of an internal local zone. |
net/flowtrack | Package flowtrack contains types for tracking TCP/UDP flows by 4-tuples. |
net/ipset | Package ipset provides code for creating efficient IP-in-set lookup functions with different implementations depending on the set. |
net/ktimeout | Package ktimeout configures kernel TCP stack timeouts via the provided control functions. |
net/memnet | Package memnet implements an in-memory network implementation. |
net/netaddr | Package netaddr is a transitional package while we finish migrating from inet.af/netaddr to Go 1.18's net/netip. |
net/netcheck | Package netcheck checks the network conditions from the current host. |
net/neterror | Package neterror classifies network errors. |
net/netkernelconf | Package netkernelconf contains code for checking kernel netdev config. |
net/netknob | Package netknob has Tailscale network knobs. |
net/netmon | Package monitor provides facilities for monitoring network interface and route changes. |
net/netns | Package netns contains the common code for using the Go net package in a logical "network namespace" to avoid routing loops where Tailscale-created packets would otherwise loop back through Tailscale routes. |
net/netstat | Package netstat returns the local machine's network connection table. |
net/netutil | Package netutil contains misc shared networking code & types. |
net/netx | Package netx contains types to describe and abstract over how dialing and listening are performed. |
net/packet | Package packet contains packet parsing and marshaling utilities. |
net/packet/checksum | Package checksum provides functions for updating checksums in parsed packets. |
net/ping | Package ping allows sending ICMP echo requests to a host in order to determine network latency. |
net/portmapper | Package portmapper is a UDP port mapping client. |
net/proxymux | Package proxymux splits a net.Listener in two, routing SOCKS5 connections to one and HTTP requests to the other. |
net/routetable | Package routetable provides functions that operate on the system's route table. |
net/socks5 | Package socks5 is a SOCKS5 server implementation. |
net/sockstats | Package sockstats collects statistics about network sockets used by the Tailscale client. |
net/speedtest | Package speedtest contains both server and client code for running speedtests between tailscale nodes. |
net/stun | Package STUN generates STUN request packets and parses response packets. |
net/stunserver | Package stunserver implements a STUN server. |
net/stun/stuntest | Package stuntest provides a STUN test server. |
net/tcpinfo | Package tcpinfo provides platform-agnostic accessors to information about a TCP connection (e.g. |
net/tlsdial | Package tlsdial generates tls.Config values and does x509 validation of certs. |
net/tlsdial/blockblame | Package blockblame blames specific firewall manufacturers for blocking Tailscale, by analyzing the SSL certificate presented when attempting to connect to a remote server. |
net/tsaddr | Package tsaddr handles Tailscale-specific IPs and ranges. |
net/tsdial | Package tsdial provides a Dialer type that can dial out of tailscaled. |
net/tshttpproxy | Package tshttpproxy contains Tailscale additions to httpproxy not available in golang.org/x/net/http/httpproxy. |
net/tstun | Package tun creates a tuntap device, working around OS-specific quirks if necessary. |
net/udprelay | Package udprelay contains constructs for relaying Disco and WireGuard packets between Tailscale clients over UDP. |
net/udprelay/endpoint | Package endpoint contains types relating to UDP relay server endpoints. |
net/wsconn | Package wsconn contains an adapter type that turns a websocket connection into a net.Conn. |
omit | Package omit provides consts to access Tailscale ts_omit_FOO build tags. |
packages | |
packages/deb | Package deb extracts metadata from Debian packages. |
paths | Package paths returns platform and user-specific default paths to Tailscale files and directories. |
portlist | The portlist package contains code that checks what ports are open and listening on the current machine. |
posture | Package posture contains functions to query the local system state for managed posture checks. |
prober | Package prober implements a simple blackbox prober. |
proxymap | Package proxymap contains a mapping table for ephemeral localhost ports used by tailscaled on behalf of remote Tailscale IPs for proxied connections. |
release | Package release provides functionality for building client releases. |
release/dist | Package dist is a release artifact builder library. |
release/dist/cli | Package cli provides the skeleton of a CLI for building release packages. |
release/dist/qnap | Package qnap contains dist Targets for building QNAP Tailscale packages. |
release/dist/synology | Package synology contains dist Targets for building Synology Tailscale packages. |
release/dist/unixpkgs | Package unixpkgs contains dist Targets for building unix Tailscale packages. |
safesocket | Package safesocket creates either a Unix socket, if possible, or otherwise a localhost TCP connection. |
safeweb | Package safeweb provides a wrapper around an http.Server that applies basic web application security defenses by default. |
sessionrecording | Package sessionrecording contains session recording utils shared amongst Tailscale SSH and Kubernetes API server proxy session recording. |
smallzstd | Package smallzstd produces zstd encoders and decoders optimized for low memory usage, at the expense of compression efficiency. |
ssh | |
ssh/tailssh | Package tailssh is an SSH server integrated into Tailscale. |
syncs | Package syncs contains additional sync types and functionality. |
tailcfg | Package tailcfg contains types used by the Tailscale protocol with between the node and the coordination server. |
tempfork | |
tempfork/acme | Package acme provides an implementation of the Automatic Certificate Management Environment (ACME) spec, most famously used by Let's Encrypt. |
tempfork/gliderlabs | |
tempfork/gliderlabs/ssh | Package ssh wraps the crypto/ssh package with a higher-level API for building SSH servers. |
tempfork/heap | Package heap provides heap operations for any type that implements heap.Interface. |
tempfork/httprec | Package httprec is a copy of the Go standard library's httptest.ResponseRecorder type, which we want to use in non-test code without pulling in the rest of the httptest package and its test certs, etc. |
tempfork/spf13 | |
tempfork/spf13/cobra | Package cobra contains shell scripts and constants copied from https://github.com/spf13/cobra for use in our own shell tab-completion logic. |
tempfork/sshtest | |
tempfork/sshtest/ssh | Package ssh implements an SSH client and server. |
tka | Package tka (WIP) implements the Tailnet Key Authority. |
tool | |
tool/gocross | gocross is a wrapper around the `go` tool that invokes `go` from Tailscale's custom toolchain, with the right build parameters injected based on the native+target GOOS/GOARCH. |
tsconsensus | Package tsconsensus implements a consensus algorithm for a group of tsnet.Servers |
tsconst | Package tsconst exports some constants used elsewhere in the codebase. |
tsd | Package tsd (short for "Tailscale Daemon") contains a System type that containing all the subsystems a Tailscale node (tailscaled or platform equivalent) uses. |
tsnet | Package tsnet provides Tailscale as a library. |
tsnet/example | |
tsnet/example/tshello | The tshello server demonstrates how to use Tailscale as a library. |
tsnet/example/tsnet-funnel | The tsnet-funnel server demonstrates how to use tsnet with Funnel. |
tsnet/example/tsnet-http-client | The tshello server demonstrates how to use Tailscale as a library. |
tsnet/example/web-client | The web-client command demonstrates serving the Tailscale web client over tsnet. |
tstest | Package tstest provides utilities for use in unit tests. |
tstest/archtest | |
tstest/deptest | The deptest package contains a shared implementation of negative dependency tests for other packages, making sure we don't start depending on certain packages. |
tstest/integration | Package integration contains Tailscale integration tests. |
tstest/integration/nat | |
tstest/integration/testcontrol | Package testcontrol contains a minimal control plane server for testing purposes. |
tstest/integration/vms | Package vms does VM-based integration/functional tests by using qemu and a bank of pre-made VM images. |
tstest/iosdeps | Package iosdeps is a just a list of the packages we import on iOS, to let us test that our transitive closure of dependencies on iOS doesn't accidentally grow too large, as we've historically been memory constrained there. |
tstest/jsdeps | Package jsdeps is a just a list of the packages we import in the JavaScript/WASM build, to let us test that our transitive closure of dependencies doesn't accidentally grow too large, since binary size is more of a concern. |
tstest/mts | The mts ("Multiple Tailscale") command runs multiple tailscaled instances for development, managing their directories and sockets, and lets you easily direct tailscale CLI commands to them. |
tstest/natlab | Package natlab lets us simulate different types of networks all in-memory without running VMs or requiring root, etc. |
tstest/natlab/vnet | Package vnet simulates a virtual Internet containing a set of networks with various NAT behaviors. |
tstest/nettest | Package nettest contains additional test helpers related to network state that can't go into tstest for circular dependency reasons. |
tstime | Package tstime defines Tailscale-specific time utilities. |
tstime/mono | Package mono provides fast monotonic time. |
tstime/rate | Package rate provides a rate limiter. |
tsweb | Package tsweb contains code used in various Tailscale webservers. |
tsweb/promvarz | Package promvarz combines Prometheus metrics exported by our expvar converter (tsweb/varz) with metrics exported by the official Prometheus client. |
tsweb/varz | Package varz contains code to export metrics in Prometheus format. |
types | |
types/appctype | Package appcfg contains an experimental configuration structure for "tailscale.com/app-connectors" capmap extensions. |
types/bools | Package bools contains the Int, Compare, and IfElse functions. |
types/dnstype | Package dnstype defines types for working with DNS. |
types/empty | Package empty defines an empty struct type. |
types/flagtype | Package flagtype defines flag.Value types. |
types/iox | Package iox provides types to implement io functionality. |
types/ipproto | Package ipproto contains IP Protocol constants. |
types/jsonx | Package jsonx contains helper types and functionality to use with github.com/go-json-experiment/json, which is positioned to be merged into the Go standard library as encoding/json/v2. |
types/key | Package key contains types for different types of public and private keys used by Tailscale. |
types/lazy | Package lazy provides types for lazily initialized values. |
types/logger | Package logger defines a type for writing to logs. |
types/logid | Package logid contains ID types for interacting with the log service. |
types/mapx | Package mapx contains extra map types and functions. |
types/netlogtype | Package netlogtype defines types for network logging. |
types/netmap | Package netmap contains the netmap.NetworkMap type. |
types/nettype | Package nettype defines an interface that doesn't exist in the Go net package. |
types/opt | Package opt defines optional types. |
types/persist | Package persist contains the Persist type. |
types/prefs | Package prefs contains types and functions to work with arbitrary preference hierarchies. |
types/prefs/prefs_example | Package prefs_example contains a Prefs type, which is like tailscale.com/ipn.Prefs, but uses the prefs package to enhance individual preferences with state and metadata. |
types/preftype | Package preftype is a leaf package containing types for various preferences. |
types/ptr | Package ptr contains the ptr.To function. |
types/result | Package result contains the Of result type, which is either a value or an error. |
types/structs | Package structs contains the Incomparable type. |
types/tkatype | Package tkatype defines types for working with the tka package. |
types/views | Package views provides read-only accessors for commonly used value types. |
util | |
util/cache | Package cache contains an interface for a cache around a typed value, and various cache implementations that implement that interface. |
util/cibuild | Package cibuild reports runtime CI information. |
util/clientmetric | Package clientmetric provides client-side metrics whose values get occasionally logged. |
util/cloudenv | Package cloudenv reports which known cloud environment we're running in. |
util/cmpver | Package cmpver implements a variant of debian version number comparison. |
util/codegen | Package codegen contains shared utilities for generating code. |
util/cstruct | Package cstruct provides a helper for decoding binary data that is in the form of a padded C structure. |
util/ctxkey | ctxkey provides type-safe key-value pairs for use with context.Context. |
util/deephash | Package deephash hashes a Go value recursively, in a predictable order, without looping. |
util/deephash/testtype | Package testtype contains types for testing deephash. |
util/dirwalk | Package dirwalk contains code to walk a directory. |
util/dnsname | Package dnsname contains string functions for working with DNS names. |
util/eventbus | Package eventbus provides an in-process event bus. |
util/eventbus/debug-demo | debug-demo is a program that serves a bus's debug interface over HTTP, then generates some fake traffic from a handful of clients. |
util/execqueue | Package execqueue implements an ordered asynchronous queue for executing functions. |
util/expvarx | Package expvarx provides some extensions to the expvar package. |
util/goroutines | The goroutines package contains utilities for tracking and getting active goroutines. |
util/groupmember | Package groupmember verifies group membership of the provided user on the local system. |
util/hashx | Package hashx provides a concrete implementation of hash.Hash that operates on a particular block size. |
util/httphdr | Package httphdr implements functionality for parsing and formatting standard HTTP headers. |
util/httpm | Package httpm has shorter names for HTTP method constants. |
util/jsonutil | Package jsonutil provides utilities to improve JSON performance. |
util/limiter | Package limiter provides a keyed token bucket rate limiter. |
util/lineiter | Package lineiter iterates over lines in things. |
util/lineread | Package lineread reads lines from files. |
util/linuxfw | Package linuxfw returns the kind of firewall being used by the kernel. |
util/linuxfw/linuxfwtest | Package linuxfwtest contains tests for the linuxfw package. |
util/lru | Package lru contains a typed Least-Recently-Used cache. |
util/mak | Package mak helps make maps. |
util/multierr | Package multierr provides a simple multiple-error type. |
util/must | Package must assists in calling functions that must succeed. |
util/nocasemaps | nocasemaps provides efficient functions to set and get entries in Go maps keyed by a string, where the string is always lower-case. |
util/osdiag | Package osdiag provides loggers for OS-specific diagnostic information. |
util/osshare | |
util/osuser | Package osuser implements OS user lookup. |
util/pidowner | Package pidowner handles lookups from process ID to its owning user. |
util/pool | Package pool contains a generic type for managing a pool of resources; for example, connections to a database, or to a remote service. |
util/precompress | Package precompress provides build- and serving-time support for precompressed static resources, to avoid the cost of repeatedly compressing unchanging resources. |
util/progresstracking | Package progresstracking provides wrappers around io.Reader and io.Writer that track progress. |
util/quarantine | Package quarantine sets platform specific "quarantine" attributes on files that are received from other hosts. |
util/race | Package race contains a helper to "race" two functions, returning the first successful result. |
util/racebuild | Package racebuild exports a constant about whether the current binary was built with the race detector. |
util/rands | Package rands contains utility functions for randomness. |
util/reload | Package reload contains functions that allow periodically reloading a value (e.g. |
util/ringbuffer | Package ringbuffer contains a fixed-size concurrency-safe generic ring buffer. |
util/set | Package set contains set types. |
util/singleflight | Package singleflight provides a duplicate function call suppression mechanism. |
util/slicesx | Package slicesx contains some helpful generic slice functions. |
util/stringsx | Package stringsx provides additional string manipulation functions that aren't in the standard library's strings package or go4.org/mem. |
util/syspolicy | Package syspolicy facilitates retrieval of the current policy settings applied to the device or user and receiving notifications when the policy changes. |
util/syspolicy/internal | Package internal contains miscellaneous functions and types that are internal to the syspolicy packages. |
util/syspolicy/rsop | Package rsop facilitates source.Store registration via RegisterStore and provides access to the effective policy merged from all registered sources via PolicyFor. |
util/syspolicy/setting | Package setting contains types for defining and representing policy settings. |
util/syspolicy/source | Package source defines interfaces for policy stores, facilitates the creation of policy sources, and provides functionality for reading policy settings from these sources. |
util/sysresources | Package sysresources provides OS-independent methods of determining the resources available to the current system. |
util/systemd | Package systemd contains a minimal wrapper around systemd-notify to enable applications to signal readiness and status to systemd. |
util/testenv | Package testenv provides utility functions for tests. |
util/topk | Package topk defines a count-min sketch and a cheap probabilistic top-K data structure that uses the count-min sketch to track the top K items in constant memory and O(log(k)) time. |
util/truncate | Package truncate provides a utility function for safely truncating UTF-8 strings to a fixed length, respecting multi-byte codepoints. |
util/usermetric | Package usermetric provides a container and handler for user-facing metrics. |
util/vizerror | Package vizerror provides types and utility funcs for handling visible errors that are safe to display to end users. |
util/winutil | Package winutil contains misc Windows/Win32 helper functions. |
util/winutil/authenticode | |
util/winutil/gp | |
util/winutil/s4u | |
util/winutil/winenv | |
util/zstdframe | Package zstdframe provides functionality for encoding and decoding independently compressed zstandard frames. |
version | Package version provides the version that the binary was built at. |
version/distro | Package distro reports which distro we're running on. |
version/mkversion | Package mkversion gets version info from git and provides a bunch of differently formatted version strings that get used elsewhere in the build system to embed version numbers into binaries. |
wgengine | Package wgengine provides the Tailscale WireGuard engine interface. |
wgengine/bench | Create two wgengine instances and pass data through them, measuring throughput, latency, and packet loss. |
wgengine/filter | Package filter is a stateful packet filter. |
wgengine/filter/filtertype | Package filtertype defines the types used by wgengine/filter. |
wgengine/magicsock | Package magicsock implements a socket that can change its communication path while in use, actively searching for the best way to communicate. |
wgengine/netlog | Package netlog provides a logger that monitors a TUN device and periodically records any traffic into a log stream. |
wgengine/netstack | Package netstack wires up gVisor's netstack into Tailscale. |
wgengine/netstack/gro | Package gro implements GRO for the receive (write) path into gVisor. |
wgengine/router | Package router presents an interface to manipulate the host network stack's state. |
wgengine/wgcfg | Package wgcfg has types and a parser for representing WireGuard config. |
wgengine/wgcfg/nmcfg | Package nmcfg converts a controlclient.NetMap into a wgcfg config. |
wgengine/wgint | Package wgint provides somewhat shady access to wireguard-go internals that don't (yet) have public APIs. |
wgengine/wglog | Package wglog contains logging helpers for wireguard-go. |
words | Package words contains accessors for some nice words. |
- Version
- v1.84.0 (latest)
- Published
- May 21, 2025
- Platform
- linux/amd64
- Imports
- 2 packages
- Last checked
- 1 day ago –
Tools for package owners.