Knowledge baseBasics

Tailscale for Linux from the mesh-net mirror

When tailscale.com doesn't open: the official Tailscale for Linux from our mirror with one command — install, update, remove.

On this page

The usual way to install Tailscale on Linux downloads it from tailscale.com and pkgs.tailscale.com. If those sites don't open from your computer or server, install Tailscale from the mesh-net mirror: the same official build, unchanged, with one command.

When you need it

  • The command curl -fsSL https://tailscale.com/install.sh | sh fails with a timeout, Could not resolve host or Connection refused.
  • The device runs Linux with systemd — Ubuntu, Debian, Fedora, Arch and most others — on an amd64 (x86-64), arm64, arm or 386 processor.

The mirror is for Linux only. On Windows, macOS, iPhone, iPad and Android, install Tailscale from the app store or from tailscale.com: those apps are partly closed source, and mesh-net doesn't redistribute them.

The mirror now has Tailscale 1.104.5. It checks for a new stable version of Tailscale every 24 hours and keeps the 2 latest ones.

Install

In a terminal on the device, paste this line and press Enter:

curl -fsSL https://mesh-net.space/ext/tailscale-install.sh | sudo sh

If you'd like to check the script first, download it with curl -fsSLO https://mesh-net.space/ext/tailscale-install.sh: sha256sum tailscale-install.sh should print 6aaa9e2ab54f3ce8714ba70507c5d0dc589c74b3e3bcd3cd847af0d4d8cbd66d.

The installer first only checks the device and stops with an explanation if something is off — nothing is changed by then. Then it downloads the archive for your processor, checks its sha256 and that the programs run on this device, installs them, starts the Tailscale service and lists everything it changed. It takes about a minute.

Then connect the device to your network with the command from the dashboard: see the public network or a private network.

  • sudo: command not found means you are already root: run the line without sudo.
  • curl: command not found: install curl the usual way of your system (for example, sudo apt-get install -y curl) and repeat.

What it changes

File or serviceWhat it is
/usr/bin/tailscale, /usr/sbin/tailscaledThe programs: the command line and the service
/lib/systemd/system/tailscaled.service and, if the archive has them, tailscale-online.target, tailscale-wait-online.serviceThe systemd units from the archive, in the same place where the Tailscale package puts them
/etc/default/tailscaledThe service's settings (PORT, FLAGS) — only if there is none: your settings stay
tailscaled.serviceEnabled and started on the first installation
/var/lib/mesh-net-tailscale/What was installed (installed) and, after an update, the previous version (previous/)
/var/log/mesh-net-tailscale.logThe installer's log

Nothing is deleted. The device's keys live in /var/lib/tailscale, as with the package; if they are already there, the device keeps its identity.

Update

Run the same command again. If the mirror has a newer version, the installer replaces the programs, keeps the previous version in /var/lib/mesh-net-tailscale/previous/ and restarts the service: connections over Tailscale pause for a few seconds, and an SSH session that goes over Tailscale itself may drop — connect again. If the new version doesn't start, the installer puts the previous one back and says so. If the device already has the newest version, the installer says so and changes nothing.

The settings in /etc/default/tailscaled are never overwritten. If you edited a unit file of the service, it stays as it is, and the unit of the new version is saved as /var/lib/mesh-net-tailscale/tailscaled.service.new for you to compare.

When the installer refuses

It refuses before changing anything and says what to do.

Tailscale is installed from a package

Then the package manager looks after it, and the installer doesn't touch it. Update it the same way — for example, sudo apt-get update && sudo apt-get install --only-upgrade tailscale on Ubuntu and Debian or sudo dnf upgrade tailscale on Fedora. If the package source doesn't open from the device either, remove the package (sudo apt-get remove tailscale; the device's keys in /var/lib/tailscale stay) and run the installer.

There is no systemd

On Alpine Linux, install Tailscale from Alpine's own repository — it doesn't need tailscale.com: apk add tailscale && rc-update add tailscale && rc-service tailscale start. On other systems without systemd, download the archive and start the service by hand, as in Download by hand.

Tailscale is installed some other way

If tailscale is already on the device but not from a package and not from this installer (copied by hand, in /usr/local/bin), the installer lists what it found and changes nothing, so as not to break it. To switch to the build from the mirror, stop that Tailscale, move the listed files out of the way and run the installer again.

Another processor

The mirror has builds for amd64, arm64, arm and 386. For others (riscv64, mips) take Tailscale from your system's packages.

Download by hand

The list of files is at https://mesh-net.space/dl/tailscale/latest.json: the version, and for every processor the file, its size and sha256. Next to each archive lies Tailscale's own .sha256 file.

For example, for amd64:

curl -fsSLO https://mesh-net.space/dl/tailscale/1.104.5/tailscale_1.104.5_amd64.tgz
curl -fsSL https://mesh-net.space/dl/tailscale/1.104.5/tailscale_1.104.5_amd64.tgz.sha256; echo
sha256sum tailscale_1.104.5_amd64.tgz
tar xzf tailscale_1.104.5_amd64.tgz

The two sums must be the same. In the folder tailscale_1.104.5_amd64 are the programs tailscale and tailscaled and, in systemd/, the unit and the settings file. Without systemd, start the service by hand and leave it running:

cd tailscale_1.104.5_amd64
sudo ./tailscaled --state=/var/lib/tailscale/tailscaled.state

and in another terminal connect with sudo ./tailscale up … — the command from the dashboard.

Remove

sudo systemctl disable --now tailscaled
sudo rm /usr/bin/tailscale /usr/sbin/tailscaled /lib/systemd/system/tailscaled.service
sudo rm -f /lib/systemd/system/tailscale-online.target /lib/systemd/system/tailscale-wait-online.service
sudo systemctl daemon-reload
sudo rm -r /var/lib/mesh-net-tailscale

The settings file /etc/default/tailscaled and the device's keys in /var/lib/tailscale are yours to keep or delete; delete the device in the dashboard too, if it shouldn't come back.

Licence

The programs tailscale and tailscaled are open source under the BSD-3-Clause licence: github.com/tailscale/tailscale. The mirror keeps the archives exactly as Tailscale publishes them and puts the licence next to each version: https://mesh-net.space/dl/tailscale/1.104.5/LICENSE. Tailscale is a trademark of Tailscale Inc.; mesh-net is not affiliated with Tailscale.