cmux/daemon/remote
2026-02-28 17:05:55 -08:00
..
cmd/cmuxd-remote WIP: advance ssh remote workspace proxying 2026-02-28 17:05:55 -08:00
go.mod feat: add ssh reuse defaults and remote daemon scaffold 2026-02-20 23:32:48 -08:00
README.md WIP: advance ssh remote workspace proxying 2026-02-28 17:05:55 -08:00

cmuxd-remote (Go)

Go remote daemon for cmux ssh bootstrap and capability negotiation.

Current commands:

  1. cmuxd-remote version
  2. cmuxd-remote serve --stdio

Current RPC methods (newline-delimited JSON):

  1. hello
  2. ping
  3. proxy.open
  4. proxy.close
  5. proxy.write
  6. proxy.read
  7. session.open
  8. session.close
  9. session.attach
  10. session.resize
  11. session.detach
  12. session.status

Current integration in cmux:

  1. workspace.remote.configure now bootstraps this binary over SSH when missing.
  2. Client sends hello before enabling remote proxy transport.
  3. Local workspace proxy broker serves SOCKS5 + HTTP CONNECT and tunnels stream traffic through proxy.* RPC over serve --stdio.
  4. Daemon status/capabilities are exposed in workspace.remote.status -> remote.daemon (including session.resize.min).

workspace.remote.configure contract notes:

  1. port / local_proxy_port accept integer values and numeric strings; explicit null clears each field.
  2. Out-of-range values and invalid types return invalid_params.
  3. local_proxy_port is an internal deterministic test hook used by bind-conflict regressions.
  4. SSH option precedence checks are case-insensitive; user overrides for StrictHostKeyChecking and control-socket keys prevent default injection.