Installation
Install the Tunnet agent on every machine you want on the mesh.
One command. Your machine joins the mesh
Pick your OS - Copy, paste, done.
curl -fsSL https://github.com/tunnetio/Tunnet/releases/latest/download/install.sh | shThen enroll and start the service. Needs root for the TUN interface.
What to do next
Join a managed network (control plane + dashboard):
sudo tunnet enroll --control-url http://your-host:8080 --token YOUR_TOKEN
sudo tunnet service startOr start a Direct network (no server):
sudo tunnet create --name my-net --secret "a-strong-passphrase"
sudo tunnet service startSee Quick Start (Managed) or Quick Start (Direct).
Agent config lands in tunnet.toml next to sealed secrets in the state directory. See Configuration.
Options
Pin a version:
curl -fsSL https://github.com/tunnetio/Tunnet/releases/latest/download/install.sh | sh -s -- --version v0.3.0# Download install.ps1 from the latest release, then:
.\install.ps1 -Version v0.3.0Skip the service unit:
curl -fsSL https://github.com/tunnetio/Tunnet/releases/latest/download/install.sh | sh -s -- --no-service.\install.ps1 -NoServiceUpdating
sudo tunnet updateOn Linux this reloads the agent gracefully by default. Pass --restart for a full service restart. Use tunnet update --check to only look for a newer release.
For unattended upgrades, enable [update] in tunnet.toml (see tunnet update).
Building from source
If you are developing Tunnet or self-hosting the full stack from a checkout:
git clone https://github.com/tunnetio/Tunnet.git
cd Tunnet
cargo build --releaseBinaries land in target/release/. For the management API and dashboard, also run bun install and see Self-Hosting.
Platform notes
- Linux - root (or
CAP_NET_ADMIN) for the TUN interface. - macOS - admin privileges for the TUN interface.
- Windows - Administrator privileges and the Wintun driver.
- Containers / CI - pass
--no-encrypt-state(orTUNNET_NO_ENCRYPT_STATE=1) if platform secret sealing is unavailable.
