Skip to main content
← All work

shellbridge

A command line on a desktop machine, reachable from a phone, with nothing listening for inbound connections.

Status

Working: a phone web app, a relay, and an agent on the machine.

Language
TypeScript
Terminal
node-pty and xterm.js
Inbound ports
None
Lines
2,653

Reachable without being exposed

The obvious way to reach a machine from a phone is to open a port on it, which is also the way to end up with a shell on the public internet. This inverts it: the desktop dials out to a relay and holds that connection open, the phone connects to the same relay, and neither end ever accepts an inbound connection.

TLS terminates at the edge and the relay is reached through a named tunnel, so the machine running the shell has no exposed surface at all — the thing an attacker would have to find is not there to find.