SplashSplash over SSH

Agents on your workstation. Splash in any browser.

Run splash-server on the machine that has your repositories and agent logins, then open it through an SSH tunnel. Files, git, terminals and agents stay together on that machine. Close the laptop; the agents keep working.

1

Start the server where the code lives

No window or display needed. Install and sign in to your agents on the same machine.

On the workstation
splash-server --name devbox ~/code/my-project
2

Tunnel to it from your laptop

The server listens on loopback only. SSH carries the browser connection.

On your laptop
ssh -N -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 \
  -L 127.0.0.1:4780:127.0.0.1:4780 devbox
3

Sign in with the token

Open http://127.0.0.1:4780 and paste the token from the server's server.token. Startup prints where the file is, never what's in it.

Sign in to a Splash server · screenshot

Built for flaky connections

Reconnects without surprises

When the tunnel returns, Splash refreshes sessions, the open transcript, permissions, files and terminal views.

Drafts stay put

Unsent text stays in the open tab and sending is disabled while offline. Commands are never replayed automatically, because a failed response doesn’t prove the server missed them.

Loopback and a token

The server binds to loopback and requires a token. Login uses an HttpOnly, SameSite cookie; foreign origins and non-loopback Host headers are rejected.

Keep it running

A systemd user service ships in packaging/server/, with a launchd example for macOS. Several hosts can use different local tunnel ports.

Drafts survive a disconnect · screenshot
Choose a folder on the server · screenshot
Linux user service
mkdir -p ~/.config/systemd/user
cp packaging/server/splash.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now splash

Full setup, including the launchd example and rotating the token, is in the README.