Skip to main content

Connect your device

Your labs are private. To reach them from your own machine — SSH, a database client, a web app on any port — you register that machine as a device and bring up an encrypted tunnel.

Do this once per machine. After that, every lab you own is reachable from it.

You do not need this to start

VS Code in the browser works without any of this. Set up a device when you want SSH, or want to use local tools against your labs.

1. Install WireGuard

Windows

Download and run the official installer.

macOS
Linux
sudo apt install wireguard
Android / iOS

Install the WireGuard app from Google Play or the App Store. On mobile you will scan a QR code instead of copying a file.

2. Register the device

Go to Connectivity → My Devices and click Add Device.

The Add Device dialog with the name field, device type dropdown and the Auto Generate Keypair checkbox visible.
FieldWhat to enter
Device NameAnything recognisable, up to 25 characters
Device TypeLaptop, Desktop, Mobile, Tablet, Server, IoT or Embedded
Auto Generate KeypairLeave ticked unless you want to supply your own key
Reserve IP when AllocatedTick to keep the same address across reconnects

Click Verify and Add.

Who generates the key

With Auto Generate Keypair ticked, the platform creates the key pair for you and you can download a ready-to-use config or scan a QR code.

If you would rather the platform never hold your private key, generate the pair yourself and paste only the public key. You then get a config with a {private_key} placeholder to fill in locally, and the QR code is generated in your browser rather than on the server.

wg genkey | tee privatekey | wg pubkey > publickey

3. Bring up the tunnel

From the device's menu:

  • Download Tunnel File — a .conf for the desktop app
  • Show QR Code — scan it with the mobile app
  • Show Configuration — copy the text yourself
The open device menu showing Show Configuration, Show QR Code, Download Tunnel File and Delete.

A configuration looks like this. The addresses below are examples — yours come from the dashboard:

[Interface]
PrivateKey = <your-private-key>
Address = 203.0.113.24/32

[Peer]
PublicKey = <server-public-key>
AllowedIPs = 203.0.113.0/24
Endpoint = <server>:51820
PersistentKeepalive = 25
Desktop app (Windows / macOS)

Open WireGuard, Import tunnel from file, select the downloaded .conf, then click Activate.

Linux
sudo cp your-tunnel.conf /etc/wireguard/wg0.conf
sudo wg-quick up wg0
sudo wg show # confirms the peer and handshake
Mobile

Open the WireGuard app, tap +, choose Scan from QR code, then enable the tunnel.

4. Check it works

Ping your own lab's address — the Device IP shown on that lab's page:

ping <your-lab-ip>

Replies mean the tunnel is up. Then SSH in:

ssh <your-username>@<your-lab-ip>
Ping the lab, not the network

Test against a running lab's own address. A network or gateway address never replies, so pinging one looks like a broken tunnel when nothing is wrong.

Limits

Every account can register 5 devices by default. The counter under the Add Device button shows how many you have used; the button greys out at the limit. Delete a device you no longer use to free a slot.

If it does not connect

  • No handshake — check the tunnel is activated, and that the device has not been deleted in the dashboard.
  • Handshake, but the lab does not answer — confirm the lab is actually running. A stopped lab has no address.
  • It worked yesterday — if the device had no reserved address, it may have been given a different one. Reserve the address to pin it.

See Troubleshooting → Cannot connect.

Do it with an AI assistant

You can also do this by asking an AI assistant connected to your account — see Connect an AI assistant to set one up.

AskWhat the assistant does
“Register my laptop for the VPN. Here is its public key: …”Registers it with add_device, then gives you the config file from device_config to fill your private key into
“I don't know how to make keys — set up my phone for me”add_device without a key, so the platform makes the pair, then device_config for a complete config
“Which of my devices have connected recently?”list_devices
Prefer giving it your public key

If you let the platform generate the key pair, the private key passes through your conversation with the assistant. Use that config only on the one device, or generate the keys yourself and hand over the public half. Registering devices works on every plan, including free.