Repository navigation
Releases
meshvpn v0.28.2
Changes
Changed
meshvpn desktop <node>anddin the console no longer open a browser by themselves (under WSL
that started an X browser). They print the link, clickable in the terminal;--openopens a
browser as before.--no-browseris still accepted.
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.2/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.2/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.2/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.28.1...v0.28.2
meshvpn v0.28.1
Changes
The first release that meshvpn update verifies through the release key alone. Machines on 0.27.x
can't check that and refuse it: reinstall there (curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh, configuration
kept). 0.28.0 updates as usual; 0.26.0 and older don't check signatures and update as before.
Added
meshvpn dht on|off: switches DHT rendezvous on or off and restarts meshvpn, on every system. Before,
the README said to adddht = trueto the configuration, which already holdsdht = false: the
key twice, and meshvpn refused to start ("duplicate key").meshvpn restart: restarts meshvpn's service the same way on Linux (systemd, or the background
daemon without it), macOS (launch daemon) and Windows (scheduled task); all of the machine's
networks, or the one of--net.- Several networks on macOS, as on Linux:
sudo meshvpn --net <name> init(orjoin) puts a
Mac that is in a network already into a further one. Each further network gets its own
interface, a route per node of it, its own names (<node>.<name>.mesh) and its own launch daemon
(ai.plugovr.meshvpn.<name>, log/var/log/meshvpn-<name>.log).
Changed
- Nodes find each other again faster after one of them moved (another Wi-Fi, a mobile network):
in the first quarter of an hour after a node is gone, the others look it up in the DHT every 30
seconds instead of every 2 minutes, and a running hole punching attempt switches to addresses
found meanwhile instead of keeping the old ones for a minute. Before, this took 5 to 6 minutes. meshvpn statusshows what happens meanwhile:reconnecting to <node> (last seen …, looked up … ago, trying …), and on a new nodejoining: waiting for the inviting node at ….- Windows: the DHT entry carries the machine's temporary IPv6 addresses (as on Linux and macOS),
so a Windows node that moved can be found again over IPv6.
Fixed
init --forceandjoin --forcenow really leave the old network. Before, the running
meshvpn (service, launch daemon or scheduled task) kept going with the old keys, so the machine
stayed reachable in the old network, and it kept writing the old network's state over the new
one (aninit --forcecould lose its admin that way). Now the old meshvpn stops before the new
configuration is written, and the service starts again with the new one.meshvpn leaveno longer hangs when the running meshvpn doesn't answer: after 15 seconds it
leaves without telling the network, and stops meshvpn as usual.- macOS: password-less SSH logins work again after an update. meshvpn's own sshd entry from before
(with/usr/local/bin/meshvpn, a link there) was taken for someone else's ("sshd already uses
AuthorizedKeysCommand ... meshvpn can't add its own"); it is now brought up to date. - The warning about another interface in 100.64.0.0/10 no longer names this machine's own other
networks on macOS (whose interfaces macOS namesutunNitself).
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.1/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.1/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.1/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.28.0...v0.28.1
meshvpn v0.28.0
Changes
Security
- Releases are signed automatically, with two levels of keys. Offline root keys (built into
meshvpn) certify a release key until a date (release-key.cert, in every release); the release
workflow signs with that key, which onlyv*tags can use, on GitHub's own runners. A release
key that leaks is replaced without an update of meshvpn: it stops counting at its expiry date,
and at once where it is listed as revoked. An expired key never signs an update. Releases
signed by a root key still verify. - Only maintainers may create, move or delete
v*tags.
Added
scripts/verify-release.sh: checks a release by hand, asmeshvpn updatedoes.scripts/certify-release-key.sh: certifies a release key with a root key.
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.0/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.0/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.0/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.27.2...v0.28.0
meshvpn v0.27.2
Changes
Added
desktop setup --gputakes the VirtualGL package fromMESHVPN_VIRTUALGL_DIRif it is there (machines
without internet); it is checked against the same checksum as a download.
Changed
- README: a note that meshvpn is early (before 1.0) software, provided as is, at your own risk.
net matrix: the age of a measurement in the largest unit that fits (17m,5h,2d), not in
seconds.--jsonstill gives seconds.- The end-to-end tests take VirtualGL from a cache instead of GitHub (a GitHub outage failed
them for 0.27.0 and 0.27.1).
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.2/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.2/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.2/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.27.1...v0.27.2
meshvpn v0.27.1
Changes
The first release with the changes of 0.27.0: that tag's build failed on macOS and was not
published.
Fixed
- The macOS build (an SSH-server helper that only Linux uses).
desktop setup --gputries the VirtualGL download again when GitHub's servers answer with an
error.
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.1/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.1/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.1/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.27.0...v0.27.1
meshvpn v0.26.0
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.26.0/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.26.0/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.26.0/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.25.2...v0.26.0
meshvpn v0.25.2
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.2/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.2/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.2/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.25.1...v0.25.2
meshvpn v0.25.1
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.1/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.1/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.1/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.25.0...v0.25.1
meshvpn v0.25.0
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.0/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.0/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.0/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.24.1...v0.25.0
meshvpn v0.24.1
Install
Any Linux machine (x86_64, ARM64, ARMv7, ARMv6 / Raspberry Pi; static binary, no dependencies):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.24.1/install.sh | sudo shInstall and join a network in one step (the service starts automatically):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- join mesh1-...With a desktop for meshvpn desktop (Xfce, MATE or Cinnamon from the system's package manager):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/install.sh | sudo sh -s -- --desktop mate join mesh1-...macOS (Apple Silicon and Intel; the same installer):
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.24.1/install.sh | sudo shWindows 10/11 (x86_64), in an administrator PowerShell:
irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.24.1/install.ps1 | iexA device without internet access that you can SSH into from a jump host. Run this on the jump host; nothing is installed there:
curl -fsSL https://github.com/PlugOvr-ai/meshvpn/releases/latest/download/deploy.sh | sh -s -- --invite mesh1-... user@localhost -p 2222Debian / Ubuntu / Raspberry Pi OS: download the .deb for your architecture, then sudo apt install ./meshvpn_*.deb
Fedora / RHEL / openSUSE: download the .rpm, then sudo dnf install ./meshvpn-*.rpm
Manual: unpack meshvpn-<target>.tar.gz and put meshvpn in your PATH.
| File | Devices |
|---|---|
x86_64-unknown-linux-musl / amd64 |
PCs, servers, VMs |
aarch64-unknown-linux-musl / arm64 |
Raspberry Pi 3/4/5 (64 bit), ARM servers |
armv7-unknown-linux-musleabihf / armhf |
Raspberry Pi 2/3/4 (32 bit), routers, SBCs |
arm-unknown-linux-musleabihf |
Raspberry Pi Zero / 1 |
aarch64-apple-darwin / x86_64-apple-darwin |
Macs (Apple Silicon / Intel) |
x86_64-pc-windows-msvc (.zip) |
Windows 10/11 PCs (with wintun.dll) |
Then: sudo meshvpn init to create a network, or sudo meshvpn join <invite> to join one.
Full Changelog: v0.24.0...v0.24.1