The Localtonet client runs on the device that hosts your service and keeps the tunnel to Localtonet open. This page lists the supported platforms, helps you pick the right kind of install and links to the guide for each one.
Supported platforms #
All downloads are on the Downloads page.
| Platform | What you can install | Architectures |
|---|---|---|
| Windows | Microsoft Store app, portable desktop app, console client | 64-bit (x64), 32-bit (x86), ARM64 |
| macOS | Console client, with Homebrew or as a ZIP archive | Intel (x64), Apple Silicon (ARM64) |
| Linux | Console client, with the install script or as a ZIP archive | x64, ARM and ARM64, each for glibc and for musl |
| Linux packages | DEB and RPM packages with systemd services | x64, ARM64 |
| Android | Android app from Google Play or as an APK file | The app's minimum Android version is 5.0 |
| Termux | Console client as a Termux package | ARM64 |
| Docker | Official image localtonet/localtonet | AMD64, ARM64 |
| OpenWrt | Router packages for OpenWrt 24.10 and 25.12+ (experimental) | x64, ARM64 |
| NAS and Home Assistant | Docker Compose and Home Assistant setup templates | AMD64, ARM64 |
| Zero-install SSH | Nothing. You use the SSH client you already have. | Any device with an SSH client |
Choose the kind of install #
| Option | What it is | Choose it when |
|---|---|---|
| Console client | The localtonet program for Windows, macOS and Linux. You start it in a terminal with your AuthToken. It shows your tunnels in a live table and can install itself as a service. | You work in a terminal, or the device is a server without a desktop. |
| Desktop app | The Localtonet app for Windows with a sign-in window, from the Microsoft Store or as a portable ZIP. | You prefer an app window over a terminal on Windows. |
| Mobile app | The Localtonet app for Android. You sign in with a QR code, a PIN or the token. | The device is an Android phone or tablet, for example for a mobile proxy. |
| Package | DEB and RPM packages for Linux, a Termux package for Android and experimental packages for OpenWrt. The Linux and OpenWrt packages come with a service that reads the token from a file. | You want the system's package manager to install and remove the client, and a service that starts on boot. |
| Container | The official Docker image, and setup templates for NAS devices and Home Assistant that use it. | Your services already run in containers, or the device is a NAS. |
| Zero-install SSH | The dashboard generates an ssh command that opens the tunnel. No download is required. It is offered for HTTP and TCP tunnels. | You cannot or do not want to install anything on the device. |
What every install has in common #
-
The client signs in with an AuthToken #
An AuthToken connects one device to your account. Copy it with Copy on the AuthToken card of the Dashboard, or create a named token for each device under My Tokens. Tokens are explained in AuthTokens.
Keep your token private. Anyone with the token can use it to sign in to the app.
-
You start the client with that token #
Replace
<YOUR_TOKEN>with your token.Windows
Open the Localtonet app and paste your AuthToken, or run the console client in Command Prompt from the folder that contains
localtonet.exe:Command Promptlocaltonet --authtoken <YOUR_TOKEN>macOS
Bashbrew tap localtonet/tap brew install localtonet localtonet --authtoken <YOUR_TOKEN>Linux
Bashcurl -fsSL https://localtonet.com/install.sh | sh localtonet --authtoken <YOUR_TOKEN>Docker
Bashdocker pull localtonet/localtonet docker run localtonet/localtonet --authtoken <YOUR_TOKEN>Android
Open the Localtonet app, then scan the QR code of the token, enter its PIN or paste the token, and select Connect. The QR code and the PIN are under My Tokens.
The console client stores the token locally, so the next time you can start it with
localtonetalone. When you start it without a stored token it asksPlease Enter AuthToken or PIN. -
You create and start tunnels in the dashboard #
The client does not need to know about your tunnels in advance. You create a tunnel under My Tunnels, choose the device token, and the client that is signed in with that token serves it. Quick start walks through the first tunnel.
-
The client has to stay running #
A tunnel goes live once the client is running with your AuthToken and the tunnel is started. My Tokens shows each device as Online or Offline. Offline means the device is disconnected, even if its tunnels are still configured.
To keep the client running after you close the terminal, log out or restart the device, install it as a service:
Platform How Windows localtonet --install-service --authtoken <YOUR_TOKEN>in a terminal that runs as AdministratormacOS, Linux sudo localtonet --install-service --authtoken <YOUR_TOKEN>DEB, RPM and OpenWrt packages The package contains the service. You enable it after you set the token. Android The app keeps running in the background and opens again after the phone restarts. The details are in Run as a service and on each platform page.
Keep the client up to date #
The Client column under My Tokens shows the last version each device reported. A Need Update badge links to the Downloads page when a newer version is available. The console client also shows New Version available under its tunnel table, and localtonet --version prints the installed version.