#538
feat(cli): add proxy status with --json
Problem
Launchers that share a proxy have to read portless's state files (proxy.pid, proxy.port, proxy.tls, proxy.tlds, proxy.lan, proxy.unprivileged) to learn whether the running proxy matches what they need. Those names are internal.
Changes
portless proxy statusreports whether a portless proxy is running, and its pid, port, HTTPS, TLDs, LAN mode, unprivileged mode and state directory.--jsonprints the same as one line.- Every key is always present; all but
runningandstateDirarenullwhile the proxy isn't running. It exits 0 either way, so scripts readrunning. - Read-only. Also the
proxy_statusMCP tool, in theproxyprofile. - README, skill, docs and
--helpdocument the shape.
Closes #535. Refs #399: the bind mode becomes a bindAll field with #539, in whichever of the two merges second.
Visual proof
$ portless proxy status --json
{"running":true,"pid":44154,"port":18464,"tls":false,"tlds":["localhost"],"lan":false,"unprivileged":false,"stateDir":"/tmp/..."}
$ portless proxy status
portless proxy
Running: yes
PID: 44154
Port: 18464
HTTPS: no
TLDs: .localhost
LAN mode: no
Unprivileged: no
State directory: /tmp/...Written by an AI agent (Claude) on behalf of @jasonkuhrt.
@jasonkuhrt is attempting to deploy a commit to the Vercel Labs Team on Vercel.
A member of the Team first needs to authorize it.