#538

feat(cli): add proxy status with --json

Openjasonkuhrtwants to merge intofrom

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 status reports whether a portless proxy is running, and its pid, port, HTTPS, TLDs, LAN mode, unprivileged mode and state directory. --json prints the same as one line.
  • Every key is always present; all but running and stateDir are null while the proxy isn't running. It exits 0 either way, so scripts read running.
  • Read-only. Also the proxy_status MCP tool, in the proxy profile.
  • README, skill, docs and --help document 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.

Activity

2
vercel[bot]12d ago

@jasonkuhrt is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.