Documentation ¶
Overview ¶
Package tailscaleroot embeds VERSION.txt into the binary.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AlpineDockerTag string
View Source
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.
View Source
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.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
Package atomicfile contains code related to writing to filesystems atomically.
|
Package atomicfile contains code related to writing to filesystems atomically. |
Package chirp implements a client to communicate with the BIRD Internet Routing Daemon.
|
Package chirp implements a client to communicate with the BIRD Internet Routing Daemon. |
client
|
|
tailscale
Package tailscale contains Go clients for the Tailscale LocalAPI and Tailscale control plane API.
|
Package tailscale contains Go clients for the Tailscale LocalAPI and Tailscale control plane API. |
tailscale/apitype
Package apitype contains types for the Tailscale LocalAPI and control plane API.
|
Package apitype contains types for the Tailscale LocalAPI and control plane API. |
tailscale/example/servetls
The servetls program shows how to run an HTTPS server using a Tailscale cert via LetsEncrypt.
|
The servetls program shows how to run an HTTPS server using a Tailscale cert via LetsEncrypt. |
cmd
|
|
addlicense
Program addlicense adds a license header to a file.
|
Program addlicense adds a license header to a file. |
cloner
Cloner is a tool to automate the creation of a Clone method.
|
Cloner is a tool to automate the creation of a Clone method. |
containerboot
The containerboot binary is a wrapper for starting tailscaled in a container.
|
The containerboot binary is a wrapper for starting tailscaled in a container. |
derper
The derper binary is a simple DERP server.
|
The derper binary is a simple DERP server. |
derpprobe
The derpprobe binary probes derpers.
|
The derpprobe binary probes derpers. |
dist
The dist command builds Tailscale release packages for distribution.
|
The dist command builds Tailscale release packages for distribution. |
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.
|
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. |
gitops-pusher
Command gitops-pusher allows users to use a GitOps flow for managing Tailscale ACLs.
|
Command gitops-pusher allows users to use a GitOps flow for managing Tailscale ACLs. |
hello
The hello binary runs hello.ts.net.
|
The hello binary runs hello.ts.net. |
k8s-operator
tailscale-operator provides a way to expose services running in a Kubernetes cluster to your Tailnet.
|
tailscale-operator provides a way to expose services running in a Kubernetes cluster to your Tailnet. |
mkmanifest
The mkmanifest command is a simple helper utility to create a '.syso' file that contains a Windows manifest file.
|
The mkmanifest command is a simple helper utility to create a '.syso' file that contains a Windows manifest file. |
mkpkg
mkpkg builds the Tailscale rpm and deb packages.
|
mkpkg builds the Tailscale rpm and deb packages. |
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.
|
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. |
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.
|
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. |
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.
|
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. |
nginx-auth
Command nginx-auth is a tool that allows users to use Tailscale Whois authentication with NGINX as a reverse proxy.
|
Command nginx-auth is a tool that allows users to use Tailscale Whois authentication with NGINX as a reverse proxy. |
pgproxy
The pgproxy server is a proxy for the Postgres wire protocol.
|
The pgproxy server is a proxy for the Postgres wire protocol. |
printdep
The printdep command is a build system tool for printing out information about dependencies.
|
The printdep command is a build system tool for printing out information about dependencies. |
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.
|
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. |
sniproxy
The sniproxy is an outbound SNI proxy.
|
The sniproxy is an outbound SNI proxy. |
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.
|
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. |
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.
|
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. |
stunc
Command stunc makes a STUN request to a STUN server and prints the result.
|
Command stunc makes a STUN request to a STUN server and prints the result. |
sync-containers
The sync-containers command synchronizes container image tags from one registry to another.
|
The sync-containers command synchronizes container image tags from one registry to another. |
tailscale
The tailscale command is the Tailscale command-line client.
|
The tailscale command is the Tailscale command-line client. |
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.
|
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. |
tailscaled
The tailscaled program is the Tailscale client daemon.
|
The tailscaled program is the Tailscale client daemon. |
tailscaled/childproc
Package childproc allows other packages to register "tailscaled be-child" child process hook code.
|
Package childproc allows other packages to register "tailscaled be-child" child process hook code. |
testcontrol
Program testcontrol runs a simple test control server.
|
Program testcontrol runs a simple test control server. |
testwrapper
testwrapper is a wrapper for retrying flaky tests, using the -exec flag of 'go test'.
|
testwrapper is a wrapper for retrying flaky tests, using the -exec flag of 'go test'. |
testwrapper/flakytest
Package flakytest contains test helpers for marking a test as flaky.
|
Package flakytest contains test helpers for marking a test as flaky. |
tsconnect
The tsconnect command builds and serves the static site that is generated for the Tailscale Connect JS/WASM client.
|
The tsconnect command builds and serves the static site that is generated for the Tailscale Connect JS/WASM client. |
tsconnect/wasm
The wasm package builds a WebAssembly module that provides a subset of Tailscale APIs to JavaScript.
|
The wasm package builds a WebAssembly module that provides a subset of Tailscale APIs to JavaScript. |
viewer
Viewer is a tool to automate the creation of "view" wrapper types that provide read-only accessor methods to underlying fields.
|
Viewer is a tool to automate the creation of "view" wrapper types that provide read-only accessor methods to underlying fields. |
viewer/tests
Package tests serves a list of tests for tailscale.com/cmd/viewer.
|
Package tests serves a list of tests for tailscale.com/cmd/viewer. |
control
|
|
controlbase
Package controlbase implements the base transport of the Tailscale 2021 control protocol.
|
Package controlbase implements the base transport of the Tailscale 2021 control protocol. |
controlclient
Package controlclient implements the client for the Tailscale control plane.
|
Package controlclient implements the client for the Tailscale control plane. |
controlhttp
Package controlhttp implements the Tailscale 2021 control protocol base transport over HTTP.
|
Package controlhttp implements the Tailscale 2021 control protocol base transport over HTTP. |
controlknobs
Package controlknobs contains client options configurable from control which can be turned on or off.
|
Package controlknobs contains client options configurable from control which can be turned on or off. |
Package derp implements the Designated Encrypted Relay for Packets (DERP) protocol.
|
Package derp implements the Designated Encrypted Relay for Packets (DERP) protocol. |
derphttp
Package derphttp implements DERP-over-HTTP.
|
Package derphttp implements DERP-over-HTTP. |
Package disco contains the discovery message types.
|
Package disco contains the discovery message types. |
docs
|
|
webhooks
Package webhooks provides example consumer code for Tailscale webhooks.
|
Package webhooks provides example consumer code for Tailscale webhooks. |
Package doctor contains more in-depth healthchecks that can be run to aid in diagnosing Tailscale issues.
|
Package doctor contains more in-depth healthchecks that can be run to aid in diagnosing Tailscale issues. |
permissions
Package permissions provides a doctor.Check that prints the process permissions for the running process.
|
Package permissions provides a doctor.Check that prints the process permissions for the running process. |
routetable
Package routetable provides a doctor.Check that dumps the current system's route table to the log.
|
Package routetable provides a doctor.Check that dumps the current system's route table to the log. |
Package envknob provides access to environment-variable tweakable debug settings.
|
Package envknob provides access to environment-variable tweakable debug settings. |
logknob
Package logknob provides a helpful wrapper that allows enabling logging based on either an envknob or other methods of enablement.
|
Package logknob provides a helpful wrapper that allows enabling logging based on either an envknob or other methods of enablement. |
gokrazy
module
|
|
Package health is a registry for other packages to report & check overall health status of the node.
|
Package health is a registry for other packages to report & check overall health status of the node. |
healthmsg
Package healthmsg contains some constants for health messages.
|
Package healthmsg contains some constants for health messages. |
Package hostinfo answers questions about the host environment that Tailscale is running on.
|
Package hostinfo answers questions about the host environment that Tailscale is running on. |
Package ipn implements the interactions between the Tailscale cloud control plane and the local network stack.
|
Package ipn implements the interactions between the Tailscale cloud control plane and the local network stack. |
ipnauth
Package ipnauth controls access to the LocalAPI.
|
Package ipnauth controls access to the LocalAPI. |
ipnstate
Package ipnstate captures the entire state of the Tailscale network.
|
Package ipnstate captures the entire state of the Tailscale network. |
localapi
Package localapi contains the HTTP server handlers for tailscaled's API server.
|
Package localapi contains the HTTP server handlers for tailscaled's API server. |
policy
Package policy contains various policy decisions that need to be shared between the node client & control server.
|
Package policy contains various policy decisions that need to be shared between the node client & control server. |
store
Package store provides various implementation of ipn.StateStore.
|
Package store provides various implementation of ipn.StateStore. |
store/awsstore
Package awsstore contains an ipn.StateStore implementation using AWS SSM.
|
Package awsstore contains an ipn.StateStore implementation using AWS SSM. |
store/mem
Package mem provides an in-memory ipn.StateStore implementation.
|
Package mem provides an in-memory ipn.StateStore implementation. |
Package jsondb provides a trivial "database": a Go object saved to disk as JSON.
|
Package jsondb provides a trivial "database": a Go object saved to disk as JSON. |
Package kube provides a client to interact with Kubernetes.
|
Package kube provides a client to interact with Kubernetes. |
log
|
|
filelogger
Package filelogger provides localdisk log writing & rotation, primarily for Windows clients.
|
Package filelogger provides localdisk log writing & rotation, primarily for Windows clients. |
logheap
Package logheap logs a heap pprof profile.
|
Package logheap logs a heap pprof profile. |
sockstatlog
Package sockstatlog provides a logger for capturing network socket stats for debugging.
|
Package sockstatlog provides a logger for capturing network socket stats for debugging. |
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.
|
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. |
Package logtail sends logs to log.tailscale.io.
|
Package logtail sends logs to log.tailscale.io. |
backoff
Package backoff provides a back-off timer type.
|
Package backoff provides a back-off timer type. |
example/logreprocess
The logreprocess program tails a log and reprocesses it.
|
The logreprocess program tails a log and reprocesses it. |
example/logtail
The logtail program logs stdin.
|
The logtail program logs stdin. |
filch
Package filch is a file system queue that pilfers your stderr.
|
Package filch is a file system queue that pilfers your stderr. |
Package metrics contains expvar & Prometheus types and code used by Tailscale for monitoring.
|
Package metrics contains expvar & Prometheus types and code used by Tailscale for monitoring. |
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.
|
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. |
connstats
Package connstats maintains statistics about connections flowing through a TUN device (which operate at the IP layer).
|
Package connstats maintains statistics about connections flowing through a TUN device (which operate at the IP layer). |
dns/publicdns
Package publicdns contains mapping and helpers for working with public DNS providers.
|
Package publicdns contains mapping and helpers for working with public DNS providers. |
dns/recursive
Package recursive implements a simple recursive DNS resolver.
|
Package recursive implements a simple recursive DNS resolver. |
dns/resolvconffile
Package resolvconffile parses & serializes /etc/resolv.conf-style files.
|
Package resolvconffile parses & serializes /etc/resolv.conf-style files. |
dns/resolver
Package resolver implements a stub DNS resolver that can also serve records out of an internal local zone.
|
Package resolver implements a stub DNS resolver that can also serve records out of an internal local zone. |
dnscache
Package dnscache contains a minimal DNS cache that makes a bunch of assumptions that are only valid for us.
|
Package dnscache contains a minimal DNS cache that makes a bunch of assumptions that are only valid for us. |
dnsfallback
Package dnsfallback contains a DNS fallback mechanism for starting up Tailscale when the system DNS is broken or otherwise unavailable.
|
Package dnsfallback contains a DNS fallback mechanism for starting up Tailscale when the system DNS is broken or otherwise unavailable. |
flowtrack
Package flowtrack contains types for tracking TCP/UDP flows by 4-tuples.
|
Package flowtrack contains types for tracking TCP/UDP flows by 4-tuples. |
interfaces
Package interfaces contains helpers for looking up system network interfaces.
|
Package interfaces contains helpers for looking up system network interfaces. |
memnet
Package memnet implements an in-memory network implementation.
|
Package memnet implements an in-memory network implementation. |
netaddr
Package netaddr is a transitional package while we finish migrating from inet.af/netaddr to Go 1.18's net/netip.
|
Package netaddr is a transitional package while we finish migrating from inet.af/netaddr to Go 1.18's net/netip. |
netcheck
Package netcheck checks the network conditions from the current host.
|
Package netcheck checks the network conditions from the current host. |
neterror
Package neterror classifies network errors.
|
Package neterror classifies network errors. |
netknob
Package netknob has Tailscale network knobs.
|
Package netknob has Tailscale network knobs. |
netmon
Package monitor provides facilities for monitoring network interface and route changes.
|
Package monitor provides facilities for monitoring network interface and route changes. |
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.
|
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. |
netstat
Package netstat returns the local machine's network connection table.
|
Package netstat returns the local machine's network connection table. |
netutil
Package netutil contains misc shared networking code & types.
|
Package netutil contains misc shared networking code & types. |
packet
Package packet contains packet parsing and marshaling utilities.
|
Package packet contains packet parsing and marshaling utilities. |
ping
Package ping allows sending ICMP echo requests to a host in order to determine network latency.
|
Package ping allows sending ICMP echo requests to a host in order to determine network latency. |
portmapper
Package portmapper is a UDP port mapping client.
|
Package portmapper is a UDP port mapping client. |
proxymux
Package proxymux splits a net.Listener in two, routing SOCKS5 connections to one and HTTP requests to the other.
|
Package proxymux splits a net.Listener in two, routing SOCKS5 connections to one and HTTP requests to the other. |
routetable
Package routetable provides functions that operate on the system's route table.
|
Package routetable provides functions that operate on the system's route table. |
socks5
Package socks5 is a SOCKS5 server implementation.
|
Package socks5 is a SOCKS5 server implementation. |
sockstats
Package sockstats collects statistics about network sockets used by the Tailscale client.
|
Package sockstats collects statistics about network sockets used by the Tailscale client. |
speedtest
Package speedtest contains both server and client code for running speedtests between tailscale nodes.
|
Package speedtest contains both server and client code for running speedtests between tailscale nodes. |
stun
Package STUN generates STUN request packets and parses response packets.
|
Package STUN generates STUN request packets and parses response packets. |
stun/stuntest
Package stuntest provides a STUN test server.
|
Package stuntest provides a STUN test server. |
tlsdial
Package tlsdial originally existed to set up a tls.Config for x509 validation, using a memory-optimized path for iOS, but then we moved that to the tailscale/go tree instead, so now this package does very little.
|
Package tlsdial originally existed to set up a tls.Config for x509 validation, using a memory-optimized path for iOS, but then we moved that to the tailscale/go tree instead, so now this package does very little. |
tsaddr
Package tsaddr handles Tailscale-specific IPs and ranges.
|
Package tsaddr handles Tailscale-specific IPs and ranges. |
tsdial
Package tsdial provides a Dialer type that can dial out of tailscaled.
|
Package tsdial provides a Dialer type that can dial out of tailscaled. |
tshttpproxy
Package tshttpproxy contains Tailscale additions to httpproxy not available in golang.org/x/net/http/httpproxy.
|
Package tshttpproxy contains Tailscale additions to httpproxy not available in golang.org/x/net/http/httpproxy. |
tstun/table
Package table provides a Routing Table implementation which allows looking up the peer that should be used to route a given IP address.
|
Package table provides a Routing Table implementation which allows looking up the peer that should be used to route a given IP address. |
wsconn
Package wsconn contains an adapter type that turns a websocket connection into a net.Conn.
|
Package wsconn contains an adapter type that turns a websocket connection into a net.Conn. |
packages
|
|
deb
Package deb extracts metadata from Debian packages.
|
Package deb extracts metadata from Debian packages. |
Package paths returns platform and user-specific default paths to Tailscale files and directories.
|
Package paths returns platform and user-specific default paths to Tailscale files and directories. |
The portlist package contains code that checks what ports are open and listening on the current machine.
|
The portlist package contains code that checks what ports are open and listening on the current machine. |
Package prober implements a simple blackbox prober.
|
Package prober implements a simple blackbox prober. |
release
|
|
dist
Package dist is a release artifact builder library.
|
Package dist is a release artifact builder library. |
dist/cli
Package cli provides the skeleton of a CLI for building release packages.
|
Package cli provides the skeleton of a CLI for building release packages. |
dist/synology
Package synology contains dist Targets for building Synology Tailscale packages.
|
Package synology contains dist Targets for building Synology Tailscale packages. |
dist/unixpkgs
Package unixpkgs contains dist Targets for building unix Tailscale packages.
|
Package unixpkgs contains dist Targets for building unix Tailscale packages. |
Package safesocket creates either a Unix socket, if possible, or otherwise a localhost TCP connection.
|
Package safesocket creates either a Unix socket, if possible, or otherwise a localhost TCP connection. |
Package smallzstd produces zstd encoders and decoders optimized for low memory usage, at the expense of compression efficiency.
|
Package smallzstd produces zstd encoders and decoders optimized for low memory usage, at the expense of compression efficiency. |
ssh
|
|
tailssh
Package tailssh is an SSH server integrated into Tailscale.
|
Package tailssh is an SSH server integrated into Tailscale. |
Package syncs contains additional sync types and functionality.
|
Package syncs contains additional sync types and functionality. |
tempfork
|
|
gliderlabs/ssh
Package ssh wraps the crypto/ssh package with a higher-level API for building SSH servers.
|
Package ssh wraps the crypto/ssh package with a higher-level API for building SSH servers. |
pprof
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
|
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool. |
Package tka (WIP) implements the Tailnet Key Authority.
|
Package tka (WIP) implements the Tailnet Key Authority. |
tool
|
|
Package tsconst exports some constants used elsewhere in the codebase.
|
Package tsconst exports some constants used elsewhere in the codebase. |
Package tsd (short for "Tailscale Daemon") contains a System type that containing all the subsystems a Tailscale node (tailscaled or platform equivalent) uses.
|
Package tsd (short for "Tailscale Daemon") contains a System type that containing all the subsystems a Tailscale node (tailscaled or platform equivalent) uses. |
Package tsnet provides Tailscale as a library.
|
Package tsnet provides Tailscale as a library. |
example/tshello
The tshello server demonstrates how to use Tailscale as a library.
|
The tshello server demonstrates how to use Tailscale as a library. |
example/tsnet-funnel
The tsnet-funnel server demonstrates how to use tsnet with Funnel.
|
The tsnet-funnel server demonstrates how to use tsnet with Funnel. |
example/tsnet-http-client
The tshello server demonstrates how to use Tailscale as a library.
|
The tshello server demonstrates how to use Tailscale as a library. |
Package tstest provides utilities for use in unit tests.
|
Package tstest provides utilities for use in unit tests. |
integration
Package integration contains Tailscale integration tests.
|
Package integration contains Tailscale integration tests. |
integration/testcontrol
Package testcontrol contains a minimal control plane server for testing purposes.
|
Package testcontrol contains a minimal control plane server for testing purposes. |
integration/vms
Package vms does VM-based integration/functional tests by using qemu and a bank of pre-made VM images.
|
Package vms does VM-based integration/functional tests by using qemu and a bank of pre-made VM images. |
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.
|
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. |
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.
|
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. |
natlab
Package natlab lets us simulate different types of networks all in-memory without running VMs or requiring root, etc.
|
Package natlab lets us simulate different types of networks all in-memory without running VMs or requiring root, etc. |
Package tstime defines Tailscale-specific time utilities.
|
Package tstime defines Tailscale-specific time utilities. |
mono
Package mono provides fast monotonic time.
|
Package mono provides fast monotonic time. |
rate
Package rate provides a rate limiter.
|
Package rate provides a rate limiter. |
Package tsweb contains code used in various Tailscale webservers.
|
Package tsweb contains code used in various Tailscale webservers. |
promvarz
Package promvarz combines Prometheus metrics exported by our expvar converter (tsweb/varz) with metrics exported by the official Prometheus client.
|
Package promvarz combines Prometheus metrics exported by our expvar converter (tsweb/varz) with metrics exported by the official Prometheus client. |
varz
Package varz contains code to export metrics in Prometheus format.
|
Package varz contains code to export metrics in Prometheus format. |
types
|
|
dnstype
Package dnstype defines types for working with DNS.
|
Package dnstype defines types for working with DNS. |
empty
Package empty defines an empty struct type.
|
Package empty defines an empty struct type. |
flagtype
Package flagtype defines flag.Value types.
|
Package flagtype defines flag.Value types. |
ipproto
Package ipproto contains IP Protocol constants.
|
Package ipproto contains IP Protocol constants. |
lazy
Package lazy provides types for lazily initialized values.
|
Package lazy provides types for lazily initialized values. |
logger
Package logger defines a type for writing to logs.
|
Package logger defines a type for writing to logs. |
logid
Package logid contains ID types for interacting with the log service.
|
Package logid contains ID types for interacting with the log service. |
netlogtype
Package netlogtype defines types for network logging.
|
Package netlogtype defines types for network logging. |
netmap
Package netmap contains the netmap.NetworkMap type.
|
Package netmap contains the netmap.NetworkMap type. |
nettype
Package nettype defines an interface that doesn't exist in the Go net package.
|
Package nettype defines an interface that doesn't exist in the Go net package. |
opt
Package opt defines optional types.
|
Package opt defines optional types. |
persist
Package persist contains the Persist type.
|
Package persist contains the Persist type. |
preftype
Package preftype is a leaf package containing types for various preferences.
|
Package preftype is a leaf package containing types for various preferences. |
ptr
Package ptr contains the ptr.To function.
|
Package ptr contains the ptr.To function. |
structs
Package structs contains the Incomparable type.
|
Package structs contains the Incomparable type. |
tkatype
Package tkatype defines types for working with the tka package.
|
Package tkatype defines types for working with the tka package. |
views
Package views provides read-only accessors for commonly used value types.
|
Package views provides read-only accessors for commonly used value types. |
util
|
|
cibuild
Package cibuild reports runtime CI information.
|
Package cibuild reports runtime CI information. |
clientmetric
Package clientmetric provides client-side metrics whose values get occasionally logged.
|
Package clientmetric provides client-side metrics whose values get occasionally logged. |
cloudenv
Package cloudenv reports which known cloud environment we're running in.
|
Package cloudenv reports which known cloud environment we're running in. |
cmpver
Package cmpver implements a variant of debian version number comparison.
|
Package cmpver implements a variant of debian version number comparison. |
cmpx
Package cmpx has code that will likely land in a future version of Go, but we want sooner.
|
Package cmpx has code that will likely land in a future version of Go, but we want sooner. |
codegen
Package codegen contains shared utilities for generating code.
|
Package codegen contains shared utilities for generating code. |
cstruct
Package cstruct provides a helper for decoding binary data that is in the form of a padded C structure.
|
Package cstruct provides a helper for decoding binary data that is in the form of a padded C structure. |
deephash
Package deephash hashes a Go value recursively, in a predictable order, without looping.
|
Package deephash hashes a Go value recursively, in a predictable order, without looping. |
deephash/testtype
Package testtype contains types for testing deephash.
|
Package testtype contains types for testing deephash. |
dirwalk
Package dirwalk contains code to walk a directory.
|
Package dirwalk contains code to walk a directory. |
dnsname
Package dnsname contains string functions for working with DNS names.
|
Package dnsname contains string functions for working with DNS names. |
goroutines
The goroutines package contains utilities for getting active goroutines.
|
The goroutines package contains utilities for getting active goroutines. |
groupmember
Package groupmember verifies group membership of the provided user on the local system.
|
Package groupmember verifies group membership of the provided user on the local system. |
hashx
Package hashx provides a concrete implementation of hash.Hash that operates on a particular block size.
|
Package hashx provides a concrete implementation of hash.Hash that operates on a particular block size. |
httpm
Package httpm has shorter names for HTTP method constants.
|
Package httpm has shorter names for HTTP method constants. |
jsonutil
Package jsonutil provides utilities to improve JSON performance.
|
Package jsonutil provides utilities to improve JSON performance. |
lineread
Package lineread reads lines from files.
|
Package lineread reads lines from files. |
linuxfw
Package linuxfw returns the kind of firewall being used by the kernel.
|
Package linuxfw returns the kind of firewall being used by the kernel. |
linuxfw/linuxfwtest
Package linuxfwtest contains tests for the linuxfw package.
|
Package linuxfwtest contains tests for the linuxfw package. |
mak
Package mak helps make maps.
|
Package mak helps make maps. |
multierr
Package multierr provides a simple multiple-error type.
|
Package multierr provides a simple multiple-error type. |
must
Package must assists in calling functions that must succeed.
|
Package must assists in calling functions that must succeed. |
pidowner
Package pidowner handles lookups from process ID to its owning user.
|
Package pidowner handles lookups from process ID to its owning user. |
precompress
Package precompress provides build- and serving-time support for precompressed static resources, to avoid the cost of repeatedly compressing unchanging resources.
|
Package precompress provides build- and serving-time support for precompressed static resources, to avoid the cost of repeatedly compressing unchanging resources. |
quarantine
Package quarantine sets platform specific "quarantine" attributes on files that are received from other hosts.
|
Package quarantine sets platform specific "quarantine" attributes on files that are received from other hosts. |
racebuild
Package racebuild exports a constant about whether the current binary was built with the race detector.
|
Package racebuild exports a constant about whether the current binary was built with the race detector. |
ringbuffer
Package ringbuffer contains a fixed-size concurrency-safe generic ring buffer.
|
Package ringbuffer contains a fixed-size concurrency-safe generic ring buffer. |
set
Package set contains set types.
|
Package set contains set types. |
singleflight
Package singleflight provides a duplicate function call suppression mechanism.
|
Package singleflight provides a duplicate function call suppression mechanism. |
slicesx
Package slicesx contains some helpful generic slice functions.
|
Package slicesx contains some helpful generic slice functions. |
sysresources
Package sysresources provides OS-independent methods of determining the resources available to the current system.
|
Package sysresources provides OS-independent methods of determining the resources available to the current system. |
systemd
Package systemd contains a minimal wrapper around systemd-notify to enable applications to signal readiness and status to systemd.
|
Package systemd contains a minimal wrapper around systemd-notify to enable applications to signal readiness and status to systemd. |
truncate
Package truncate provides a utility function for safely truncating UTF-8 strings to a fixed length, respecting multi-byte codepoints.
|
Package truncate provides a utility function for safely truncating UTF-8 strings to a fixed length, respecting multi-byte codepoints. |
uniq
Package uniq provides removal of adjacent duplicate elements in slices.
|
Package uniq provides removal of adjacent duplicate elements in slices. |
vizerror
Package vizerror provides types and utility funcs for handling visible errors that are safe to display to end users.
|
Package vizerror provides types and utility funcs for handling visible errors that are safe to display to end users. |
winutil
Package winutil contains misc Windows/Win32 helper functions.
|
Package winutil contains misc Windows/Win32 helper functions. |
winutil/policy
Package policy contains higher-level abstractions for accessing Windows enterprise policies.
|
Package policy contains higher-level abstractions for accessing Windows enterprise policies. |
Package version provides the version that the binary was built at.
|
Package version provides the version that the binary was built at. |
distro
Package distro reports which distro we're running on.
|
Package distro reports which distro we're running on. |
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.
|
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. |
bench
Create two wgengine instances and pass data through them, measuring throughput, latency, and packet loss.
|
Create two wgengine instances and pass data through them, measuring throughput, latency, and packet loss. |
capture
Package capture formats packet logging into a debug pcap stream.
|
Package capture formats packet logging into a debug pcap stream. |
filter
Package filter is a stateful packet filter.
|
Package filter is a stateful packet filter. |
magicsock
Package magicsock implements a socket that can change its communication path while in use, actively searching for the best way to communicate.
|
Package magicsock implements a socket that can change its communication path while in use, actively searching for the best way to communicate. |
netlog
Package netlog provides a logger that monitors a TUN device and periodically records any traffic into a log stream.
|
Package netlog provides a logger that monitors a TUN device and periodically records any traffic into a log stream. |
netstack
Package netstack wires up gVisor's netstack into Tailscale.
|
Package netstack wires up gVisor's netstack into Tailscale. |
router
Package router presents an interface to manipulate the host network stack's state.
|
Package router presents an interface to manipulate the host network stack's state. |
wgcfg
Package wgcfg has types and a parser for representing WireGuard config.
|
Package wgcfg has types and a parser for representing WireGuard config. |
wgcfg/nmcfg
Package nmcfg converts a controlclient.NetMap into a wgcfg config.
|
Package nmcfg converts a controlclient.NetMap into a wgcfg config. |
wgint
Package wgint provides somewhat shady access to wireguard-go internals that don't (yet) have public APIs.
|
Package wgint provides somewhat shady access to wireguard-go internals that don't (yet) have public APIs. |
wglog
Package wglog contains logging helpers for wireguard-go.
|
Package wglog contains logging helpers for wireguard-go. |
Package words contains accessors for some nice words.
|
Package words contains accessors for some nice words. |
Click to show internal directories.
Click to hide internal directories.