Shellwave
- Add PgUp and PgDn to the arrow cluster on the key bar
- Scroll mouse-aware apps with a drag instead of a button drag
mobile SSH client makes you choose between convenient and trustworthy — and
that's a stupid choice.
Sessions that survive
Your train goes into a tunnel and the connection drops. When the signal comes
back, your session is still there — reconnected without re-typing a password,
and with optional tmux-backed sessions, reattached with scrollback intact. You
don't do anything. Hosts can also keep a persistent session running, so you can
close the app and come back to exactly where you left off.
Nothing is trusted for you
Host keys are checked the first time you connect and remembered after that, with
the fingerprint shown so you can check it yourself. If a host key ever changes,
Shellwave stops you before you go any further. There is no accept-all mode, and
a script running from a widget or a tile never answers a prompt on your behalf.
Your keys stay on your device
Password, an imported private key, a key generated on your device, or
keyboard-interactive/2FA — whatever you already use. Everything is encrypted
on-device, with hardware-backed protection on phones that support it, and an
optional biometric lock. You can generate a key on the device and install it in
a host's authorized_keys without the private key ever leaving the phone.
Save yourself the typing
Save commands or scripts against a host, with parameters you fill in when you run
them. Watch them run live, run them in the background and check back later, or
fire them into a session you already have open. You can launch a script from the
app itself, a home-screen widget, an app shortcut, or a Quick Settings tile.
Networking, done properly
- Local and remote port forwarding
- A SOCKS5 proxy
- Jump host/bastion chaining through multiple hops
- Import your existing ~/.ssh/config as-is — hosts, ports, users, keys, jump hosts
Forwarded ports and the proxy bind to loopback unless you say otherwise.
File transfer
Send files to a host or pull them down over SFTP, without switching apps.
A real terminal
256 colours, wide character support, correct cursor and scroll handling. If you use
vim, tmux, or htop, they will look and behave the way you expect. No weird redraws,
no broken keys, no compromises.
Built with foldables in mind
On unfolded or wide screens you get a two-pane layout, host list next to the
terminal. Tabletop mode keeps the terminal above the hinge and the keyboard below
it. Fold or unfold mid-session and nothing drops.
Make it look like yours
A handful of bundled monospace fonts, or bring your own. Colour schemes like
Solarized, Gruvbox, Nord, Dracula, Tango and Campbell, plus a full editor if you
want to build your own. A key bar you can customise per host with macros and
layouts. Material You colour throughout.
Privacy
No usage data, no analytics, no crash reporting. Shellwave only connects to the
hosts you tell it to — nothing else.
The Play Store build has an optional one-time tip for the developer. It does not unlock
anything, and the F-Droid build leaves it out entirely.
Open source, GNU GPLv3.
- Author: LordOfPolls
- License: GNU General Public License v3.0 only
- Issue Tracker
- Source Code
- Changelog
- Build Metadata
- Reproducibility Status
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 12 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 13 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 12 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Download APK 13 MiB PGP Signature | Build Log
- Let a widget tap unlock a biometric-gated host
- Move terminal settings to a dedicated screen
- Report whether a credential is biometric-gated
- Reorganise hosts form
Fixed:
- Deep-copy duplicated hosts and give Sessions an idle empty state
Performance:
- Stop polling every vsync frame for idle terminal sessions















