Skip to content

Releases

meshvpn v0.28.2

Choose a tag to compare

@github-actions github-actions released this 09 Nov 17:46

Changes

Changed

  • meshvpn desktop <node> and d in the console no longer open a browser by themselves (under WSL
    that started an X browser). They print the link, clickable in the terminal; --open opens a
    browser as before. --no-browser is 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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.2/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 08 Nov 19:59

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 add dht = true to the configuration, which already holds dht = 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 (or join) 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 status shows what happens meanwhile: reconnecting to <node> (last seen …, looked up … ago, trying …), and on a new node joining: 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 --force and join --force now 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 (an init --force could 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 leave no 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 names utunN itself).

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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.1/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 08 Nov 14:07

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 only v* 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, as meshvpn update does.
  • 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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.28.0/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 08 Nov 12:46

Changes

Added

  • desktop setup --gpu takes the VirtualGL package from MESHVPN_VIRTUALGL_DIR if 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. --json still 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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.2/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 08 Nov 10:46

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 --gpu tries 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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.27.1/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 07 Nov 20:31

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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.26.0/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 07 Nov 19:53

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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.2/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 07 Nov 19:14

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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.1/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 07 Nov 18:10

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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.25.0/install.ps1 | iex

A 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 2222

Debian / 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

Choose a tag to compare

@github-actions github-actions released this 07 Nov 17:34

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 sh

Install 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 sh

Windows 10/11 (x86_64), in an administrator PowerShell:

irm https://github.com/PlugOvr-ai/meshvpn/releases/download/v0.24.1/install.ps1 | iex

A 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 2222

Debian / 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