Categorygithub.com/qwenode/tailscale
modulepackage
5.0.0+incompatible
Repository: https://github.com/qwenode/tailscale.git
Documentation: pkg.go.dev

# README

Tailscale

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains all the open source Tailscale client code and the tailscaled daemon and tailscale CLI tool. The tailscaled daemon runs on Linux, Windows and macOS, and to varying degrees on FreeBSD, OpenBSD, and Darwin. (The Tailscale iOS and Android apps use this repo's code, but this repo doesn't contain the mobile GUI code.)

The Android app is at https://github.com/tailscale/tailscale-android

The Synology package is at https://github.com/tailscale/tailscale-synology

Using

We serve packages for a variety of distros at https://pkgs.tailscale.com .

Other clients

The macOS, iOS, and Windows clients use the code in this repository but additionally include small GUI wrappers that are not open source.

Building

go install tailscale.com/cmd/tailscale{,d}

If you're packaging Tailscale for distribution, use build_dist.sh instead, to burn commit IDs and version info into the binaries:

./build_dist.sh tailscale.com/cmd/tailscale
./build_dist.sh tailscale.com/cmd/tailscaled

If your distro has conventions that preclude the use of build_dist.sh, please do the equivalent of what it does in your distro's way, so that bug reports contain useful version information.

We require the latest Go release, currently Go 1.19.

Bugs

Please file any issues about this code or the hosted service on the issue tracker.

Contributing

PRs welcome! But please file bugs. Commit messages should reference bugs.

We require Developer Certificate of Origin Signed-off-by lines in commits.

About Us

Tailscale is primarily developed by the people at https://github.com/orgs/tailscale/people. For other contributors, see:

Legal

WireGuard is a registered trademark of Jason A. Donenfeld.

# Packages

Package atomicfile contains code related to writing to filesystems atomically.
Package chirp implements a client to communicate with the BIRD Internet Routing Daemon.
No description provided by the author
No description provided by the author
No description provided by the author
Package derp implements DERP, the Detour Encrypted Routing Protocol.
Package disco contains the discovery message types.
Package envknob provides access to environment-variable tweakable debug settings.
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 ipn implements the interactions between the Tailscale cloud control plane and the local network stack.
Package jsondb provides a trivial "database": a Go object saved to disk as JSON.
Package kube provides a client to interact with Kubernetes.
No description provided by the author
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 metrics contains expvar & Prometheus types and code used by Tailscale for monitoring.
No description provided by the author
No description provided by the author
Package paths returns platform and user-specific default paths to Tailscale files and directories.
No description provided by the author
Package prober implements a simple blackbox prober.
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.
No description provided by the author
Package syncs contains additional sync types and functionality.
No description provided by the author
No description provided by the author
Package tka (WIP) implements the Tailnet Key Authority.
Package tsconst exports some constants used elsewhere in the codebase.
Package tsnet provides Tailscale as a library.
Package tstest provides utilities for use in unit tests.
Package tstime defines Tailscale-specific time utilities.
Package tsweb contains code used in various Tailscale webservers.
No description provided by the author
No description provided by the author
Package version provides the version that the binary was built at.
No description provided by the author
Package words contains accessors for some nice words.

# Variables

go:embed ALPINE.txt.
GoToolchainRev is the git hash from github.com/tailscale/go that this release should be built using.
go:embed VERSION.txt.