Run your usual SSH commands from your phone without typing them on a phone keyboard.
Rex stores your servers and the commands you run on them. Tap a command, Rex connects over SSH, runs it, and streams the output back. SSH keys are generated on the phone, stay encrypted in Android's hardware keystore, and never leave the device.
Rex is not on the Play Store — you install the APK yourself:
- On your phone, tap the Download button above (or open the latest release). Scroll to Assets and tap
rex-<version>.apk. - Open the downloaded file. Android will ask you to allow installs from your browser — allow it once (Settings → Install unknown apps).
- If Play Protect warns about an unknown app, choose Install anyway. Rex is open source — every line of it is here.
Needs Android 8.0 or newer.
Tap + on the home screen and enter a nickname, the hostname or IP, and the username you log in with.
Open the host's key management screen (long-press the host → Manage keys) and tap Generate Key. Rex creates an Ed25519 key pair on the device.
Then tap Deploy Key and enter the account's SSH password — Rex uses it once to install the public key on the server (~/.ssh/authorized_keys). After that, every connection uses the key; the password is never stored.
The first time Rex connects to a new server it shows the server's key fingerprint and asks you to confirm it. Compare it with what the server reports (ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub) — if it matches, tap Trust & connect. Rex pins the fingerprint and will refuse to connect if it ever changes.
Tap Add command on the host, give it a name, and enter the command line to run.
Tap the command. Rex connects, runs it, and shows the output when it finishes.
Every run is recorded — host, command name, duration, exit code — under ⋮ → Logs, with filters and search. Command output is never written to logs.
Private keys are generated on-device and encrypted by the Android Keystore; they cannot be exported. Unlocking key operations requires your device PIN or biometric. Server fingerprints are pinned on first use and checked on every connection. Logs store metadata only, screenshots are blocked by default, and clipboard copies auto-clear after 60 seconds. Details and vulnerability reporting: SECURITY.md.
Build instructions, architecture, and the full security model live in docs/TECHNICAL_REFERENCE.md.




