Android companion
Ghostex Android is a Termux-based companion app for connecting to persistent Ghostex sessions already running on your Mac. It lists ZMX-backed sessions, attaches the Android terminal to selected sessions, and runs sidebar actions through long-press menus.
AndroidTailscaleSSHJ
Download
APKs are published in GitHub Releases:
https://github.com/maddada/Ghostex/releases/latest/download/ghostex-android.apkPackage id: io.ghostex — installs beside upstream Termux (com.termux) on the same phone.
What it does
- Connect to one or more saved SSH machines from the Ghostex drawer.
- Automatically reconnect to the last selected machine when the app reopens.
- List ZMX-backed Ghostex sessions for the current release.
- Keep the last seven opened remote sessions warm for faster switching.
- Use long-press action sheets for sidebar actions that are hover controls on macOS.
- Reach the Mac over Tailscale SSH with app-owned SSHJ transport (not phone-side OpenSSH).
Mac setup
- Install and sign in to Tailscale on the Mac.
- Enable macOS Remote Login in System Settings → General → Sharing.
- Install Ghostex and ensure ghostex is available in the SSH login shell.
- Install zmx and set Ghostex session persistence to zmx.
- Verify: command -v ghostex && command -v zmx
- Keep Ghostex open so gx can list live sessions.
ghostex android-check --jsonAndroid setup
- Install and sign in to Tailscale on the Android device.
- Open Ghostex Android and add the Mac as a saved machine.
- First-run tutorial walks through Tailscale, SSH, and machine setup.
- Done opens Add Machine for a fresh user.
Remote commands
ssh user@mac-tailscale-host
gx sessions
gx a 1
gx wake 1
gx sleep 1
gx kill 1
gx rename-session --session-id <id> --title "New title"Attach contract
Android attaches by stable Ghostex session id using the same contract as desktop remote SSH:
ghostex attach --session-id <id> --project-id <id>The E2E harness verifies Tailscale SSHJ reachability, remote ghostex and zmx, ZMX inventory parsing, stable-id attach command construction, and remote session actions.
Drawer UI
- Cleaner remote-session drawer with refresh, Machines, Settings, and Exit.
- Collapsible project groups with project reordering.
- Project-level new session controls.
- Local Termux terminal management is hidden behind the Ghostex drawer.
Verify Mac readiness
From the Mac or over SSH, confirm Android readiness:
| Option | What it does |
|---|---|
ghostex android-check --json | Reports CLI availability, session count, and sessionPersistenceProvider. |
npm run android:verify-release | Full release proof from the Ghostex repo root (signing, E2E, UI smoke). |