Shrooms

From Local Area Network
Revision as of 23:27, 4 November 2026 by Eleutherious (talk | contribs) (Plainer prose: fewer quotes, project claims attributed, glosses folded in)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Shrooms
What it does: The mycelial mesh VPN: discovery over Logos Delivery, traffic over WireGuard, no coordination server
Stage: Prototype
Licence: Apache-2.0 or MIT
Verified on 4 November 2026 against README and commit of 4 November 2026.

Shrooms is a mesh VPN by the GitHub user vpavlin that uses Logos Messaging (Logos Delivery) for discovery and signalling and WireGuard, a standard VPN protocol, for the traffic. It has a Linux daemon, an Android app and a Basecamp view, and was renamed from logos-vpn.

What it does

  • Nodes find each other through Logos Delivery pub/sub (publish-and-subscribe messaging), with no coordination server and no account. Delivery is used only for cold start, roaming and repair, and tunnels keep working when the fleet is unreachable.
  • Traffic runs over userspace WireGuard, directly between peers where NAT allows. NAT is the way home routers and mobile networks hide many devices behind one address. When two peers cannot reach each other, Shrooms relays through a node the user already runs.
  • Each node's overlay address, its address inside the mesh, is derived from its device key, so no addresses are handed out and none conflict.
  • Its own resolver answers names such as laptop.mesh and immich.home-server.mesh, and it can publish local services and LAN devices by name.
  • Devices are admitted with one-time invite tokens and admin-signed credentials, which expire after 30 days by default and can be revoked.
  • One daemon runs several meshes, each with its own key, identity, interface and port.
  • A Basecamp view shows the mesh with a graph, peers, services, logs and settings.
  • Shrooms Agents, a separate app and Basecamp module, reaches Claude Code or pi coding-agent sessions on the user's own machines from a phone or from Basecamp.

Stage: Prototype. The README says "It is a prototype, used daily by its author and nobody else." Its opening warning reads "This is an experiment, and there are no guarantees of any kind", and it says the project has never been audited by anybody independent. The README does not say whether it is an official Logos project.

Use it

  1. On the first Linux machine, download scripts/install.sh from the repository and read it before running it as root with sudo bash install.sh init --mesh home --name laptop.
  2. Run sudo shrooms invite. It prints a token and a QR code, good for one device and fifteen minutes, and waits.
  3. On the new device, run sudo shrooms join TOKEN with the printed token, or scan the QR code with the Android app.
  4. For Android, add https://apps.vpavlin.xyz/fdroid/repo to F-Droid and install Shrooms, and Shrooms Agents if wanted.
  5. For Basecamp, add https://apps.vpavlin.xyz/basecamp/logos-repo.json and install Shrooms. Its shrooms_core companion comes with it.

A Linux node run outside the container needs version 2.38 or later of glibc, the standard C library. Ubuntu 24.04 works and Debian 12 does not. Every node needs /dev/net/tun, a virtual network device, and at least one end of every pair of nodes needs an inbound UDP port, 51820 by default. A five-minute quick start is on the project website. The README does not name a Basecamp version.

Build it

  • The build machine needs Go 1.26 or later with cgo and a C toolchain, and liblogosdelivery. make deps-release downloads a prebuilt copy of the library.
  • make shrooms builds the binary and sudo make install installs it with a systemd unit.
  • make dist and make dist-arm64 build portable packages. scripts/deploy.sh builds a container image and ships it to a host over ssh.
  • make apk builds the Android app (details in ANDROID.md) and make basecamp-lgx builds the Basecamp package.

Releases

The latest version tag is v0.9.0, dated 21 September 2026. Two later tags, deps-v2 (20 October 2026) and deps-v3 (23 October 2026), are dependency releases. The README links deps-v1 as a repackaged copy of liblogosdelivery. In metadata.json, the Basecamp view shrooms is version 0.14.0, shrooms_core is 0.29.0 and shrooms_agents is 0.59.0.

See also

Sources

Page status: Stub. Stub · Outline · Usable · Guide · Star. Anyone can improve this page and change its status.