Quickstart
Host your first peer-to-peer terminal session in under a minute.
Once the agent is installed, sharing a terminal is one command.
Start a session
porthole hostPorthole spawns your shell and prints a code, a link, and a QR code:
┌─────────────────────────────────────┐
│ 🔭 Porthole v0.1.0 │
└─────────────────────────────────────┘
Session ready!
Code → p3rx-9kma
Link → https://porthole.professorhusnain.com/s/p3rx9kma
[ QR code ]
● Waiting for viewer...You are now typing in the shared shell. It is a normal shell — your prompt, your aliases, your working directory.
Share it
Send someone the code or the link, or have them scan the QR from a phone. They can watch in two ways, and both are first-class:
In a browser
Open the link. Nothing to install, works on mobile.
In a terminal
porthole join p3rx-9kma — full fidelity for vim, htop, less.
The moment they connect, the two of you are on a direct, encrypted peer-to-peer channel and the server steps aside.
End the session
Press Ctrl+] then q, or just exit the shell
(exit or Ctrl+D). The session tears down immediately and
the link stops working.
Ctrl+C does not end the session
While hosting, your terminal is in raw mode and Ctrl+C belongs to the shared shell — exactly as it does over SSH. It interrupts whatever is running inside the session; it does not stop sharing.
The local command prefix is Ctrl+]. See Host controls for the full list.
Common variations
Share a view-only session that rejects all input:
porthole host --readonlyRequire a password before anyone can join:
porthole host --password "correct horse"Invite specific people, each with their own private link:
porthole host --allow Ali --allow SanaRedact credentials from output before it reaches the viewer:
porthole host --maskRecord the session to a file you can replay later:
porthole host --recordAutomatically close the session after a while, or after the first viewer leaves:
porthole host --expire 30m
porthole host --onceSee the CLI reference for every flag.