Documentation
Reach your Raspberry Pi from anywhere
A Raspberry Pi rarely lives within arm's reach: it sits in a cupboard, at the bottom of the garden, at a relative's house, sometimes behind a 4G dongle. And the day you need to SSH into it from outside, the trouble starts — port forwarding, dynamic IP, CGNAT. With VIGIL-MESH, the Pi joins your private network through a single outbound connection: it becomes reachable by name, from anywhere, with nothing to open on the router — including behind a mobile connection. And for troubleshooting, an SSH terminal opens right in the browser, from the console.
What people do with a remote Raspberry Pi
The Raspberry Pi is the machine for projects that run on their own, far from your desk — exactly the ones where reliable remote access changes everything.
Home automation
A Pi that runs the house — Home Assistant listens on port 8123 by default — can be checked from outside through the machine's name, without ever exposing the interface to the Internet.
Measurement and sensors
Weather station, temperature probe, energy meter: you read the data and tweak the scripts over SSH, without travelling to the site.
Camera
A Pi with a camera watches over a room or a garden shed. The stream stays private: only a member of the network, allowed by the ACLs, can reach it.
Personal server
File sharing, ad blocking, a small test site: the Pi serves the whole household, and you administer it from wherever you are.
The Pi at a relative's house
The great classic: a Pi installed at a relative's place, to be fixed without walking anyone through router settings over the phone. Once it is a member of the mesh, you reach it as if it sat on your desk.
The classic methods and their limits
The traditional way to reach a Pi outside the local network is to open the house from the inside: forward a router port to port 22 on the Pi, then compensate for the side effects. Every step adds its own fragility.
Port forwarding
Opening a port to SSH means exposing a service to the whole Internet: publicly reachable SSH ports are scanned around the clock by bots trying passwords. The Pi becomes a target before it becomes a tool.
The dynamic IP address
The router's public address changes over time. You then need a dynamic DNS service and an update client on the Pi — one more moving part, which breaks your access the moment it misbehaves.
4G/5G and CGNAT
On a mobile connection, the public address is shared between many subscribers (CGNAT): there is no port to open, because the NAT belongs to the carrier. A Pi behind a 4G dongle is simply unreachable through port forwarding.
The mesh approach: the Pi comes to you, through an outbound connection
VIGIL-MESH turns the problem around: instead of making the Pi reachable from the Internet, the Pi itself joins your private network through an outbound connection — a single flow on 443 UDP, the same port as the modern web. Nothing to open on the router, nothing to configure at the relative's house, nothing to ask the mobile carrier.
- Reachable by name — MagicDNS gives the Pi a short, stable name, resolved locally by every member of the network: you connect to the name, never again to an address that changes.
- A stable address — the Pi keeps the same address on the mesh (the 100.64.0.0/10 space), whatever physical network it sits on.
- Connected immediately, direct as soon as possible — traffic first goes through a blind relay, then migrates without interruption to the direct path once NAT traversal succeeds.
- Encrypted end to end — sessions are QUIC/TLS 1.3 connections between the nodes; the relay holds no keys and never sees the content.
- Under ACL control — nothing is allowed by default: you decide who, within the network, may reach the Pi and on which services.
Setting it up, step by step
- 1Create an account and a workspaceThe workspace gathers your machines and networks. It is free for personal use.
- 2Install the client on the PiInstall the arm64 .deb package of the Linux client, then enable the systemd service. Also install the client on the machines you will access the Pi from — unless you go through the console in the browser, which requires nothing.
- 3Enroll the PiFrom the console, Networks page → Machines → “Add a machine”, generate a single-use key. For a headless Pi, a pre-authorized key enrolls the machine without any interaction.
- 4VerifyThe Pi receives its stable address and its MagicDNS name; a ping to its mesh address confirms the path is open.
- 5Connect by nameOpen an SSH session to the Pi's name from any member of the network, or from the terminal in the console's Administration tab — as if the Pi were on your local network.