Why it exists
SSH and tmux remain the base. bridge-app helps when maintainers need to check, resume, or steer long-running work from a device where a full terminal is awkward.
bridge-app is a self-hosted terminal bridge: a Go server runs beside tmux, streams sessions over authenticated WebSockets, and serves a React/xterm.js UI for phones, tablets, and long-running maintainer workflows.
$ bridge-server --static-dir web/dist
bridge-server listening on :8080
$ tmux list-sessions
release: 2 windows
tests: 1 window
agent: 1 window
browser -> WebSocket -> Go -> tmux
SSH and tmux remain the base. bridge-app helps when maintainers need to check, resume, or steer long-running work from a device where a full terminal is awkward.
Auth uses bcrypt and JWT cookies, WebSockets default to same-origin checks, and deployment guidance treats the app like SSH-grade shell access.
The public MVP includes backend, frontend, tmux APIs, WebSocket streaming, CI, deployment examples, issue templates, and a security policy.
Build from source, create the first user, then serve the web UI from the Go binary.
git clone https://github.com/ivanxgb/bridge-app.git
cd bridge-app
cd web && npm install && cd ..
make build
export BRIDGE_JWT_SECRET="$(openssl rand -hex 32)"
make seed
make run
The project is useful as an MVP, but the roadmap is intentionally honest about hardening.
Use these links when evaluating architecture, current status, and contribution areas.