Skip to content

serverjack v1.0.0

Choose a tag to compare

@jackgillette006 jackgillette006 released this 13 Sep 05:21
· 170 commits to main since this release

First public release.

serverjack is a web front door to a home server, reached over Tailscale from a phone or a laptop: a landing page that runs a pasted command in a new tmux session, a session list with one-tap attach, a browser terminal (ttyd behind serverjack's own proxy) with a phone soft-key row, and cards that launch and log in to coding-agent CLIs. One Python file, no Node, no sudo.

Install

git clone https://github.com/jackgillette006/serverjack ~/projects/serverjack
bash ~/projects/serverjack/install.sh

Requirements: Linux, systemd, tmux, Python 3.9+, curl. Tailscale is optional but recommended. Read the README's security model before exposing the service: serverjack has no password of its own, so keep it behind tailscale serve or a reverse proxy that authenticates, never tailscale funnel.

What is in this release

  • Landing page, session tabs, tmux window picker, phone soft keys, pop-out windows, PWA install on iOS, CRT effects toggle.
  • Agent cards for Claude Code, Codex and others, with login and one-click actions; a JSON registry for adding your own.
  • Identity from Tailscale headers (SERVERJACK_ALLOW), a peer-uid check for other local accounts, a Unix-socket mode for shared machines.
  • Request-parsing hardening (body limits, strict Content-Length, chunked refused), owner-only config files, a restricted TTYD_EXTRA_ARGS allowlist, symlink-safe socket handling.
  • Idempotent install.sh and a conservative uninstall.sh that only removes tailscale serve mappings it owns.
  • Real-browser test suite (Chromium, Firefox, WebKit with iPhone emulation) plus HTTP and wrapper security regressions, run in CI on every push and pull request.

Verified on a clean Debian 13 install. Report vulnerabilities through the private advisory form (see SECURITY.md), not a public issue.