Getting started
Install
Install the app on Windows, macOS and Linux, and remove it again.
Install the app on every device you want in your network. Each install runs a small background service that keeps the device connected, even when nobody is signed in to the computer.
Every download is on getunderpass.com/download. You don't need an account to download, only to connect.
| Platform | What you get |
|---|---|
| Windows 10 and 11 (64-bit) | Installer with the app window, tray icon and command line |
| macOS (Apple silicon and Intel) | Command line and background service, plus the Mac app |
| Linux (x86-64 and ARM64, including Raspberry Pi) | Command line and a systemd service |
Windows
- Download and run UnderpassSetup.exe. It asks for administrator rights.
- When it finishes, the Underpass window opens and your browser opens to sign in.
- Sign in, and approve the device if you're asked to.
The installer sets up:
- the background service (Underpass, starts automatically)
- the tray icon, started at every sign-in
- the Underpass app in the Start menu
- the command-line tool
tailnet.exeinC:\Program Files\Tailnet
Note
On Windows the command-line tool is called tailnet, and its folder isn't added to PATH. Run it by its full path, for example & "C:\Program Files\Tailnet\tailnet.exe" status in PowerShell. Everything in these docs written as underpass … works the same as tailnet … there.
To update, run the newest installer over the old one. Your device keeps its name and address.
macOS and Linux
Run this in a terminal:
curl -fsSL https://coord.getunderpass.com/download/install.sh | shIt:
- downloads the build for your system and checks it against the published
SHA256SUMS - installs the command-line tool to
/usr/local/bin/underpass(withtailnetas a second name) - installs and starts the background service:
- macOS: a launchd service,
dev.tailnet.tailnetd - Linux: a systemd service,
tailnetd(systemd is required)
- macOS: a launchd service,
- prints a link: open it and sign in to connect the device
On Linux, the installer also adds you to the tailnet group, so after you log out and back in once you can run underpass without sudo.
To install without connecting right away:
curl -fsSL https://coord.getunderpass.com/download/install.sh | UNDERPASS_NO_UP=1 shThen connect when you're ready with sudo underpass up.
To update, run the install command again.
The Mac app
After the install command, download Underpass-macos.zip, unzip it and move Underpass.app to Applications. The app shows your connection and devices, and lets you sign in and out. It needs the background service from the install command.
Note
The Mac app isn't notarized yet. The first time you open it, macOS blocks it: open System Settings → Privacy & Security and click Open Anyway.
Check it worked
underpass statusThe first line shows this device's address and name, and connected. Below it, each other device and how it's reached (direct or relay). See status.
Servers and headless machines
On machines nobody signs in to, join with an auth key instead of a browser. See Add a server.
Uninstall
Windows
Use Settings → Apps → Underpass → Uninstall. Your device's keys are kept, so reinstalling brings it back as the same device. To remove the keys too:
& "C:\Program Files\Tailnet\tailnet.exe" uninstall --remove-keysmacOS
sudo underpass uninstall # keeps this Mac's keys
sudo underpass uninstall --remove-keys # removes them tooThen delete Underpass.app from Applications, and the leftover /usr/local/bin/tailnet link.
Linux
sudo systemctl disable --now tailnetd
sudo rm /etc/systemd/system/tailnetd.service /usr/local/bin/underpass /usr/local/bin/tailnet
sudo systemctl daemon-reload
sudo rm -rf /var/lib/tailnetd # only if you also want to remove this machine's keysTo take a device out of your network, also remove it in the dashboard under Machines.