Instant Remote Terminals in your browser.

Run one command on any machine, then open its shell from your browser. Works behind NAT and firewalls.

Start a remote terminal

Paste it in Terminal on the Mac No sudo or admin rights Free for 1 device

How a Pinggy remote terminal starts

On the left, the install command runs in a terminal on a Linux machine and signs it in with a 6-digit code from email. In the middle, the machine opens one outbound connection to Pinggy. On the right, the Pinggy dashboard in a browser shows the machine online and opens shells on it, running Claude Code, Codex and bash in separate tabs.

Pinggy Devices

Monitor and control your devices.

Runs on a Raspberry Pi, a cloud VM or a home PC
  1. CPU, memory & other stats

  2. Run AI agents and long jobs

    npm run dev
  3. Close the tab. It keeps running.

  4. Open tunnels anytime

    HTTP(S)TCPUDPTLS
Video: Pinggy Devices tour coming soon
Use cases

Now you don't need to SSH.

01

Raspberry Pi and IoT

Behind home routers and CGNAT

  • Reach a Pi running Home Assistant or Pi-hole from anywhere.
  • No port forwarding on the router.
  • Works on 4G and 5G links, where the carrier's NAT blocks inbound connections.
02

Servers and cloud VMs

Every inbound port closed

  • No sshd on the internet and no port 22 for bots to find.
  • No SSH keys to copy between laptops.
  • Live CPU, load and memory next to the shell.
03

CI runners and containers

No keyboard needed

  • A token install from the dashboard that asks no questions.
  • Works in CI jobs and in docker run without -t.
  • Get a shell on a runner to see why a job fails.
04

Home lab

NAS boxes, mini PCs, old laptops

  • All your machines in one list, each with its own page.
  • Start and stop tunnels to the services they run.
05

Remote support

Help someone on another network

  • Send them one install command with a device token from your dashboard.
  • Their machine shows up in your account. No email or code on their side.
  • Delete the device when you're done, and its token stops working.
06

Windows PCs

PowerShell or cmd.exe

  • One PowerShell command to install.
  • No administrator rights needed.
  • The shell runs as the user who started the agent.
Security

No open ports, secure by design.

The agent makes one outbound connection and accepts none. There is no SSH server to patch and nothing on the machine for a scanner to knock on.

  • The device token is saved in device.json, readable only by your user on macOS and Linux.
  • The agent never logs what you type in a shell.
  • The screen copy that redraws a reopened tab stays in memory and is gone when the shell ends.
  • Revoke a machine by deleting it or rotating its token.
  • Anyone signed in to your Pinggy account can open a shell on your devices, so turn on 2-factor authentication.
Activity log raspberrypi
TimeEventSource IP
14:02Shell opened203.0.113.24
13:41Tunnel homeassistant restarted203.0.113.24
13:40Agent connected198.51.100.7
09:12Shell closed after 30 min idle-
08:30Shell opened192.0.2.61

Frequently Asked Questions

No. The Pinggy CLI starts the shell itself. Nothing on the machine listens for incoming connections, so there is no sshd to install and no port 22 to open.

Yes, as long as the machine can make outbound connections to Pinggy. The agent dials out and keeps that connection open, and your browser reaches the shell through the dashboard. You don't need a public IP or any router change.

The user who ran pinggy, with that user's permissions. On macOS and Linux it is a shell listed in /etc/shells. On Windows it is PowerShell or cmd.exe.

The shell keeps running. Open the device's Terminal tab again and the screen is redrawn as you left it. The same happens when the machine's connection drops for a while.

Until you close it or type exit. It also ends after 30 minutes with no activity, after 8 hours whatever its activity, and when the agent stops.

Run pinggy device connect -b. The agent then runs in the background in the Pinggy CLI daemon. It stops with pinggy device stop and when the machine reboots. After a reboot, run the same command again: the token is saved, so it asks nothing.

The agent never logs what you type in a shell. The copy of the screen that redraws a reopened tab is kept in memory only, and it is gone when the shell ends.

The Linux binaries need glibc, as on Debian, Ubuntu and Fedora. On Alpine and other musl-based systems, install with npm install -g pinggy, then run pinggy device login.

Delete the device, or rotate its token, in the dashboard. pinggy device remove only deletes the token from the machine, and the device stays in your account.

Add a machine in one command.Open its terminal from anywhere.