Directories ¶
Path | Synopsis |
---|---|
Package atomicfile contains code related to writing to filesystems atomically.
|
Package atomicfile contains code related to writing to filesystems atomically. |
client
|
|
tailscale
Package tailscale contains Tailscale client code.
|
Package tailscale contains Tailscale client code. |
tailscale/apitype
Package apitype contains types for the Tailscale local API.
|
Package apitype contains types for the Tailscale local API. |
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. |
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. |
hello
The hello binary runs hello.ipn.dev.
|
The hello binary runs hello.ipn.dev. |
microproxy
microproxy proxies incoming HTTPS connections to another destination.
|
microproxy proxies incoming HTTPS connections to another destination. |
mkpkg
mkpkg builds the Tailscale rpm and deb packages.
|
mkpkg builds the Tailscale rpm and deb packages. |
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. |
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. |
tsshd
The tsshd binary is an SSH server that accepts connections from anybody on the same Tailscale network.
|
The tsshd binary is an SSH server that accepts connections from anybody on the same Tailscale network. |
control
|
|
controlclient
Package controlclient implements the client for the Tailscale control plane.
|
Package controlclient implements the client for the Tailscale control plane. |
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 DERP, the Detour Encrypted Routing Protocol.
|
Package derp implements DERP, the Detour Encrypted Routing 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. |
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. |
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. |
internal
|
|
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. |
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. |
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. |
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
|
|
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. |
netcheck
Package netcheck checks the network conditions from the current host.
|
Package netcheck checks the network conditions from the current host. |
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. |
packet
Package packet contains packet parsing and marshaling utilities.
|
Package packet contains packet parsing and marshaling utilities. |
portmapper
Package portmapper is a UDP port mapping client.
|
Package portmapper is a UDP port mapping client. |
socks5
Package socks5 is a SOCKS5 server implementation.
|
Package socks5 is a SOCKS5 server implementation. |
socks5/tssocks
Package tssocks is the glue between Tailscale and the net/socks5 package.
|
Package tssocks is the glue between Tailscale and the net/socks5 package. |
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. |
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
Package tun creates a tuntap device, working around OS-specific quirks if necessary.
|
Package tun creates a tuntap device, working around OS-specific quirks if necessary. |
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. |
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. |
Package syncs contains additional sync types and functionality.
|
Package syncs contains additional sync types and functionality. |
tempfork
|
|
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 tsconst exports some constants used elsewhere in the codebase.
|
Package tsconst exports some constants used elsewhere in the codebase. |
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. |
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. |
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. |
Package tsweb contains code used in various Tailscale webservers.
|
Package tsweb contains code used in various Tailscale webservers. |
types
|
|
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. |
key
Package key defines some types related to curve25519 keys.
|
Package key defines some types related to curve25519 keys. |
logger
Package logger defines a type for writing to logs.
|
Package logger defines a type for writing to logs. |
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. |
pad32
Package pad32 defines padding types that have width on only 32-bit platforms.
|
Package pad32 defines padding types that have width on only 32-bit platforms. |
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. |
structs
Package structs contains the Incomparable type.
|
Package structs contains the Incomparable type. |
wgkey
Package wgkey contains types and helpers for WireGuard keys.
|
Package wgkey contains types and helpers for WireGuard keys. |
util
|
|
cibuild
Package cibuild reports runtime CI information.
|
Package cibuild reports runtime CI information. |
cmpver
Package cmpver implements a variant of debian version number comparison.
|
Package cmpver implements a variant of debian version number comparison. |
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. |
dnsname
Package dnsname contains string functions for working with DNS names.
|
Package dnsname contains string functions for working with DNS names. |
endian
Package endian exports a constant about whether the machine is big endian.
|
Package endian exports a constant about whether the machine is big endian. |
groupmember
Package groupmemeber verifies group membership of the provided user on the local system.
|
Package groupmemeber verifies group membership of the provided user on the local system. |
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. |
pidowner
Package pidowner handles lookups from process ID to its owning user.
|
Package pidowner handles lookups from process ID to its owning user. |
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. |
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. |
uniq
Package uniq provides removal of adjacent duplicate elements in slices.
|
Package uniq provides removal of adjacent duplicate elements in slices. |
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. |
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. |
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. |
monitor
Package monitor provides facilities for monitoring network interface and route changes.
|
Package monitor provides facilities for monitoring network interface and route changes. |
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. |
wglog
Package wglog contains logging helpers for wireguard-go.
|
Package wglog contains logging helpers for wireguard-go. |
Click to show internal directories.
Click to hide internal directories.