CONNECT FROM YOUR OWN MACHINE
The in-browser terminal is a convenience. For the real
experience, talk to the server over raw TCP yourself. It's on
voyager1.v9n.us:4242.
Linux / macOS: netcat
Most Linux distros ship OpenBSD nc:
echo 'STATUS' | nc -q 1 voyager1.v9n.us 4242
macOS ships BSD nc, which has no -q:
echo 'STATUS' | nc -w 2 voyager1.v9n.us 4242
Not sure which flavor? Detect automatically:
if nc -h 2>&1 | grep -q -- '-q'; then NC_ARGS="-q 1"; else NC_ARGS="-w 2"; fi echo 'STATUS' | nc $NC_ARGS voyager1.v9n.us 4242
Windows: PowerShell
Stock Win10 / Win11, no install required. nc isn't
available in cmd or PowerShell, but you can use the .NET
TcpClient class:
$client = New-Object System.Net.Sockets.TcpClient("voyager1.v9n.us", 4242)
$client.ReceiveTimeout = 3000
$stream = $client.GetStream()
$cmd = [System.Text.Encoding]::ASCII.GetBytes("STATUS`r`n")
$stream.Write($cmd, 0, $cmd.Length)
$buf = New-Object System.IO.MemoryStream
$chunk = New-Object byte[] 4096
try {
while ($true) {
$n = $stream.Read($chunk, 0, $chunk.Length)
if ($n -le 0) { break }
$buf.Write($chunk, 0, $n)
$text = [System.Text.Encoding]::ASCII.GetString($buf.ToArray())
if ($text -match "`n\.`r?`n") { break }
}
} catch [System.IO.IOException] { }
$client.Close()
[System.Text.Encoding]::ASCII.GetString($buf.ToArray())
If you have WSL installed, prefer that — it gives you a real
nc:
wsl -- bash -c "echo STATUS | nc -q 1 voyager1.v9n.us 4242"
Python (anywhere Python runs)
python3 -c '
import socket
s = socket.create_connection(("voyager1.v9n.us", 4242), timeout=5)
s.sendall(b"STATUS\r\n")
s.settimeout(3)
buf = b""
try:
while True:
c = s.recv(4096)
if not c: break
buf += c
if b"\n.\r\n" in buf or b"\n.\n" in buf: break
except socket.timeout: pass
s.close()
print(buf.decode("ascii", errors="replace"))
'
Interactive: telnet
If you just want to poke around by hand:
telnet voyager1.v9n.us 4242
Ctrl-] then type quit to exit (or type QUIT
at the prompt — the server closes the connection cleanly).
The protocol
- No
HELP, no?, no menu. - Try
STATUSfirst. ThenDSN LINK,INST LIST,FDS MEM,LOG 20. - Unknown command →
?CMD. Bad args →?SYNTAX. Don't panic. - Multi-line replies end with a line containing just
.(SMTP-style). - Full command grammar: commands.md.
Let Claude Code drive
Install the Claude Code Skill — it knows the protocol and the transport quirks, and echoes the exact shell command it used so you still learn while it drives. Instructions in the project README.
Curious what the skill actually tells Claude to do? See the skill's transports reference — it's the imperative version of this page, written for Claude rather than humans.