Skip to content

An (experimental) elegant TUI for configuring Tailscale.

License

Notifications You must be signed in to change notification settings

neuralinkcorp/tsui

Repository files navigation

tsui

An (experimental) elegant TUI for configuring Tailscale.

We built this because, while Tailscale has lovely desktop apps for macOS and Windows, Linux users are stuck configuring Tailscale with CLI commands. Some of tsui's features are:

  • Edit Tailscale options with a full settings interface
  • Switch exit nodes and compare their latency
  • View and copy debug information
  • See your bandwidth
  • See and copy IP addresses of accessible peers
  • Easily log in, out, and reauthenticate

Some things we want to add in the future:

  • More useful peer options
  • Start the daemon on macOS
  • Multiple accounts and custom login URLs
Screenshot of tsui

Installation

We support tsui on macOS and Linux, both x86_64 and aarch64 architectures.

Run the installer:

curl -fsSL https://neuralink.com/tsui/install.sh | bash

You can also download the latest tsui release from the releases page. We distribute tsui as a single binary that shouldn't require any dependencies.

Once installed, you can run tsui:

tsui

Development

There are a couple ways to develop and build tsui, depending on what exactly your goals are.

With Nix

If you have Nix installed, this is likely your best option. It will guarantee your environment is set up consistently and the dependencies you need are available.

Make sure you have the nix-command and flakes experimental features enabled to use Nix flakes.

Develop with a dev shell:

nix develop

go run .

Run directly through Nix:

nix run

Build a binary for your platform:

nix build

./result/bin/tsui

With Go

If you want to use Nix, you can still build with the Go toolchain. You will need Go installed and, on Linux, libx11-dev. On macOS, you may also need the XCode command line tools.

Develop:

go run .

Build a binary for your platform:

go build .

./tsui

Production Builds

We provide scripts to generate cross-platform builds equivalent to those distributed on our releases page.

Prerequisites:

Build binaries for all platforms and architectures (only works on macOS):

./scripts/build-all.sh

Build Linux binaries for all architectures:

./scripts/build-linux.sh

For either script, binaries will be outputted to the artifacts/ directory.