-
01
Multi-tab terminal
Reorderable tabs and independent sessions. Keep htop running on one tab while you edit a file on another. Real xterm-256color, true colour, UTF-8.
SSH-2 (RFC 4251)
xterm-256color · true color
UTF-8 + combining
mouse SGR / X10
SIGWINCH on rotate
session resume after background
-
02
SFTP — downloads always free
Browse and pull files from your server with biometric auth. Downloads stream with live progress and a cancel button, no size limit. Free forever; uploads live in the Power user bundle.
SFTP v3 over SSH
iOS Files / macOS Finder / SAF
streaming · live progress · cancel
no size limit
biometric per-action
free downloads · paid uploads
-
03
Tunnels — local forward & SOCKS5
Hit your private Postgres from a laptop on tethering. Run a SOCKS5 proxy through your phone. Tunnels run free; saving them is in the Power user bundle.
LOCAL forward (-L)
SOCKS5 dynamic (-D)
multi-port concurrent
tunnels survive reconnects
IPv4 + IPv6
background-tolerant
-
04
Snippets with variables
Long commands with placeholders. Tap the snippet, fill in the gaps, send. Running snippets is free; saving your own is in the Power user bundle.
{{placeholders}}
types: text · password · choice
shell-safe single-quote escape
run free · save with Power user
JSON export / import
common library bundled
-
05
Termux-style keyboard
Ctrl, Esc, Tab, arrows and pipe always one tap away. Bye to fighting the iOS keyboard for a single backtick.
Ctrl · Esc · Tab · Alt
arrows · pipe · ~ · / · $
chord combos (Ctrl-A, Ctrl-D…)
sticky modifiers (tap-and-hold)
10k–100k scrollback
copy on selection
-
06
Native auth, native security
Face ID / Touch ID / fingerprint to unlock. Keys live in the OS keychain — never in app storage, never in the cloud. On macOS your ~/.ssh keys are listed and copy into your synced keys with one tap.
ed25519 (preferred)
RSA 2048+ · 3072 · 4096
ECDSA p256 · p384 · p521
biometric · TOFU host-key
macOS ~/.ssh list + copy-in
known_hosts SHA256 · strict
-
07
Saved connections
Bookmark every host with name, user, port, key and tags. Open from a list, sorted or searched. Stored in encrypted local SQLite, with optional end-to-end encrypted sync to your own iCloud / Google Drive.
encrypted SQLite
name · user · port · key
tags & full-text search
biometric on open
optional E2EE sync
ordered & favourited
-
08
Theme, font & language persistence
Pick your terminal theme, monospace font and UI language once. The app remembers across launches, updates and reboots.
5 themes included
JetBrains Mono · IBM Plex
SF Mono · Fira Code
9 UI languages
respects system dark/light
per-device store
-
09
~/.ssh/config import
Drop your existing ssh_config and ShellPhone parses Host blocks into saved connections. On macOS it's read straight from ~/.ssh, no file picking. Bring 30 hosts in 5 seconds — no manual re-typing.
OpenSSH-compatible parser
Host · HostName · User · Port
IdentityFile · ProxyCommand
macOS ~/.ssh auto-read
Include directives
batch import + dedupe
-
10
Quick Connect
Type user@host, port and a key. Three taps from launch to a remote prompt. Connection isn't saved unless you have the Power user bundle.
user@host syntax
port · password · key
no signup · no account
3-tap path to prompt
session-only (free)
saved with Power user
-
11
Natural-language snippet search
Type compress folder and get tar -czvf. Powered by community shell snippets via cht.sh. No API key, no account, anonymous lookup.
cht.sh integration
1k+ topics indexed
anonymous queries
no API key required
no per-query fee
tap to copy or insert
-
12
Command history
Every command typed is searchable, per session and globally. Find that long awk one-liner from three days ago without scrolling forever.
per-session + global
full-text search
encrypted on device
preserved across closes
configurable depth
tap to re-run
-
13
Hardware keyboard shortcuts
iPad and Mac get the full treatment. ⌘T new tab, ⌘W close, ⌘1–⌘9 switch, ⌘[ ⌘] prev/next, ⌘K command search, ⌘/ snippets, ⌘, settings.
⌘T · ⌘W · ⌘1–⌘9
⌘K · ⌘/ · ⌘,
⌘[ · ⌘] (prev/next)
iPad + macOS only
Smart Keyboard / Magic
external Bluetooth
-
14
iTerm2 theme import
Drop in any .itermcolors file from iterm2colorschemes.com. Hundreds of themes parsed and stored as ARGB locally. Preview before saving.
.itermcolors XML plist
ARGB color storage
iterm2colorschemes.com
drop-in import
preview before save
JSON export
-
15
Multi-window on iPad
Drag a tab out into its own window. Run two servers side-by-side in Stage Manager or Split View. Each window gets its own scene and history.
drag-out tabs
Stage Manager support
Split View
Slide Over
scene-aware
iPad + macOS only
-
16
Split panes
View two live sessions at once, side by side or stacked, with a draggable divider to resize. This is real in-app splitting — not the OS Split View — and it coexists with the macOS tools panel.
two sessions at once
horizontal or vertical
draggable resize divider
in-app, not OS Split View
coexists with tools panel
desktop + iPad
-
17
Transparent reconnection
Switch Wi-Fi to cellular, lock the phone, walk through a dead spot — ShellPhone reconnects on its own with backoff and re-attaches the shell to the same tab, scrollback intact. A manual Reconnect button is there for when it finally gives up.
automatic with backoff
re-attach to same tab
scrollback preserved
handles Wi-Fi↔cellular & sleep
manual Reconnect fallback
survives short outages
-
18
Follow mode (terminal ↔ SFTP)
cd in the terminal and the SFTP browser follows. Open a folder in the browser and the terminal cds there. Toggleable, on by default, remembered across sessions.
two-way path sync
terminal cd → SFTP follows
SFTP open → terminal cd
toggleable · on by default
remembered per session
no extra round-trips
-
19
Connection label colours
Tag a server with a colour — production red, staging amber — shown in the list and on the terminal tab. Live search and filter the list, and duplicate any saved connection with one tap.
per-connection colour tag
shown on list + terminal tab
live search / filter
one-tap duplicate
no naming clashes
fast visual triage
-
20
Encrypted backup file
Export your connections, keys and settings to a passphrase-encrypted .spbk file and restore it on any device. The offline alternative to Cloud Sync — nothing leaves your hands.
.spbk encrypted file
passphrase-derived key
connections · keys · settings
restore on any device
offline, no cloud needed
share via Files / Drive
-
21
Deep links & icon quick actions
Tap an ssh://user@host:port link anywhere and ShellPhone opens Quick Connect pre-filled — it never auto-connects. Long-press the app icon for Quick Connect and your three most recent connections.
ssh:// URL scheme
pre-fills Quick Connect
never auto-connects
long-press icon shortcuts
3 most-recent connections
iOS · Android · macOS
-
22
Comfort & safety nets
A multi-line paste is previewed before it hits the shell. Closing a live tab or quitting the desktop app asks first. Background tabs show a bell badge. Pinch to zoom the terminal font, and keep the screen awake while connected.
multi-line paste preview
close-tab / quit confirmation
terminal bell badge
pinch-to-zoom font
keep-screen-awake toggle
all on by default
-
23
ProxyJump / bastion hops
Real ssh -J chaining. Pick a saved connection as the jump host and we tunnel through it. No port-forward dance, no workarounds — actual ProxyJump.
ssh -J equivalent
multi-hop chains
forwardLocal under hood
credential per hop
saved jump targets
auto-reconnect on hop drop
-
24
Telnet protocol
For legacy network gear that only speaks Telnet — switches, routers, ancient terminal servers. Tiny IAC-aware client, refuses option negotiations, shows a loud cleartext warning.
RFC 854 IAC parsing
refuses negotiations
cleartext warning (loud)
for legacy switches
telnet:// URLs
no encryption (by design)
-
25
Wi-Fi triggers
Join the office Wi-Fi, get a one-tap suggestion to open prod-bastion. Match SSIDs to saved connections. iOS asks once for location-when-in-use; Android reads SSID passively.
SSID-based detection
auto-suggest on connect
match per connection
no location stored
iOS NSLocation prompt
Android passive SSID
-
26
Pubkey agent (in-memory)
Decrypt your keys once per app session, cached in RAM. Skip the unlock prompt on every connection. Cleared on app restart, lockable on demand.
RAM-only cache
session-scoped
cleared on restart
biometric to unlock once
agent-style flow
explicit lock available
-
27
Strict SSH key validation
When you save a key for a connection, ShellPhone parses the PEM strictly first. Stray BOM bytes, mixed line endings, truncated content — all caught before anything is stored. You get a clear error in your language, and your key list never ends up with half-written entries.
strict PEM parser
BOM stripped · CRLF→LF
whitespace trimmed
PKCS#1 · PKCS#8 · OpenSSH
localised error message
nothing saved on failure
-
28
Cross-device sync (iCloud / Google Drive)
Your saved connections, snippets and tunnels follow you across iPhone, iPad, Mac and Android. Apple devices sync through your own iCloud account; Android devices through your own Google Drive. Everything is end-to-end encrypted before it leaves the device — there is no ShellPhone server in the middle. Off by default: flip the toggle once and your config is everywhere.
end-to-end encrypted
iCloud (Apple) · Drive (Android)
no ShellPhone server
your account, your devices
off by default
one toggle to enable
-
29
SFTP file uploads
Push files from Files / Photos / Drive to the remote machine over SFTP. Downloads stay free for everyone; uploads are gated to Power user because that's the actually-mutating direction. Background-aware progress so you can lock the phone mid-transfer without dropping the connection.
SFTP v3 over SSH
upload from Files / Photos / Drive
background-aware progress
resumable on disconnect
size + permission preserved
conflict-aware overwrite
-
30
Macros — saved command sequences
A saved sequence of commands you fire at a host with one tap. Optional delays between commands let the previous one settle (e.g. wait 2s for the service to restart before tailing logs). Perfect for "deploy", "git pull && restart", "tail logs", "weekly cleanup" — anything you'd otherwise paste line by line.
named macros · Hive store
N steps · per-step delay
inline newlines (multi-line OK)
dry-run preview
abort on first non-zero (opt)
share via JSON export
-
31
Wake on LAN
Boot your home server, NAS or office PC from your phone with one tap. Builds the WoL magic packet and broadcasts it on the local subnet over UDP/9. Accepts MAC addresses in any common notation (AA:BB:CC:DD:EE:FF, AA-BB-…, Cisco aabb.ccdd.eeff). Saves devices for repeat use.
UDP/9 broadcast (RFC, sort of)
multi-format MAC parser
custom broadcast address
saved-devices list
named per device
no listener required
-
32
TCP Ping
Latency, jitter and loss to a TCP service — not ICMP, because mobile sandboxes block raw sockets. TCP connect-timing is what actually matters: the latency to the service you care about (your bastion at port 22, your API at 443) instead of an irrelevant ICMP echo on a different code path.
TCP connect timing
host:port input
configurable count + interval
min / avg / max / stddev
loss percentage
copy summary as text
-
33
DNS lookup
A, AAAA, MX, TXT, NS, CNAME, SOA, PTR — every record type a sysadmin actually queries, with a custom UDP/53 resolver client (RFC 1035) instead of relying on the OS resolver. Pick the upstream: Cloudflare 1.1.1.1, Google 8.8.8.8, Quad9 9.9.9.9, or your own. See raw answer + parsed view side by side.
UDP/53 resolver (RFC 1035)
8 record types
preset upstreams + custom
EDNS0 buffer 4096
TC bit → TCP fallback
copy answer as text
-
34
Reverse DNS
Type an IP, pick PTR, get the hostname. We auto-build the in-addr.arpa chain so you don't have to remember that 192.0.2.1 reverses to 1.2.0.192.in-addr.arpa. Also works with IPv6 → ip6.arpa nibble form.
IPv4 + IPv6 input
auto in-addr.arpa builder
ip6.arpa nibble form
shares same UDP/53 client
shares same upstream picker
copy hostname as text
-
35
Whois
Owner lookup for a domain or IP, RFC 3912. We start at IANA's whois.iana.org bootstrap server, follow one level of refer: referral to the right registry, and show you the raw text answer. Most queries resolve in under a second.
RFC 3912 over TCP/43
IANA bootstrap
1 level of refer: follow
raw text response
copy / share output
no third-party API
-
36
Subnet scanner
Discover live hosts on the network from your phone. Accepts CIDR (192.168.1.0/24), range (10.0.0.10-20) or single IPs. Bounded concurrency so it doesn't fry your battery or trip a captive portal. Optional reverse-DNS pass turns IPs into hostnames in the result list.
CIDR / range / single IP
TCP host discovery
bounded concurrency
optional reverse-DNS pass
abort anytime
copy results as text
-
37
Port scanner
Find open TCP ports on a host. Use the "common" preset (top 30 nmap-style with service names — 22/SSH, 80/HTTP, 443/HTTPS, 3306/MySQL, 6379/Redis, etc.) or paste a custom spec like 22, 80-90, 443, 8000-8100. TCP connect-scan only — no SYN flood, no stealth tricks.
TCP connect-scan
common preset (top 30)
custom spec parser
service-name labels
bounded concurrency
copy results as text
-
38
TLS certificate inspector
Open a TLS handshake to host:port, parse the leaf certificate, show subject / issuer / validity dates / SAN list / SHA-1 + SHA-256 fingerprints / DER size. Loud red banner if it expires in <30 days, or if it's already expired. Saves the cert as PEM if you want to compare or pin.
TLS handshake
leaf cert parsing
SAN list extraction
SHA-1 + SHA-256 fingerprints
expiry-soon warning (30d)
PEM export
-
39
HTTP / curl tester
Build a request — method, URL, headers, body — and inspect the response: status, response headers, body in monospace with selectable text. Postman in your pocket without the account, the workspace bloat, or the "sign in with Google" pop-up.
all common HTTP methods
custom headers + body
response status + headers
monospace body view
copy as curl command
no account, no workspace
-
40
VNC viewer
When SSH isn't enough — start a GUI installer, verify a graphical app, debug a desktop service. RFC 6143 client that connects to TightVNC, RealVNC, x11vnc, macOS Screen Sharing, Ubuntu Remote Desktop, Raspberry Pi VNC. Pinch-zoom up to 10×, drag to pan a 4K screen from your iPhone. Auto-negotiates raw + CopyRect (best over LAN) encodings.
RFC 6143 RFB protocol
RFB · VNC (RFC 6143)
isolate-based IO (UI never blocks)
encodings: raw / CopyRect
VNC Authentication password
-
41
chmod calculator
Convert between octal (755, 644, 4775 with setuid) and symbolic (rwxr-xr-x) in either direction. Bidirectional: type one side, the other updates live. Setuid / setgid / sticky bits supported. Useful when SSH-ing into a server and you can't remember if 644 means "readable by group" or "writable by everyone".
octal ↔ symbolic
3 or 4-digit input
setuid / setgid / sticky
bit toggles for owner/group/other
copy either form
no network needed
-
42
SSH key generator (Ed25519)
Generate a fresh Ed25519 keypair on-device — modern algorithm, smaller and faster than RSA, the one OpenSSH itself recommends. The OpenSSH-format private key + the ssh-ed25519 … public line. Copy the public to paste into ~/.ssh/authorized_keys; the private stays in the OS keychain.
Ed25519 keypair
OpenSSH private-key format
ssh-ed25519 public line
optional passphrase
private → OS keychain
copy / share public
-
43
Bandwidth test
Measure your real download speed by streaming a known-size HTTP blob from Cloudflare, Hetzner or OVH. Same idea as speedtest.net or fast.com, but no ads, no tracking, no JavaScript runtime — just an HTTP GET timed against the bytes received. Useful before you SSH into a remote box on a flaky cellular connection.
HTTP GET, known-size blob
endpoints: Cloudflare / Hetzner / OVH
streamed download
real Mbps over wall-clock
no JS runtime
no third-party SDK
-
44
Auto-sync SFTP
Upload a file once via SFTP and ShellPhone remembers its local path. When you come back from background or tap Re-upload, it diffs against the original and pushes the new bytes in one tap. No background watchers, no extra permissions — only when you ask for it.
remembers local path
diff against original
explicit Re-upload action
no background watchers
no extra OS permissions
shares the SFTP-upload pipe
-
45
Multi-host send
Broadcast what you type to several SSH tabs at once. Toggle per tab, so you decide which sessions receive the keystrokes. Perfect for apt update && apt upgrade -y across a fleet, or applying the same change to ten servers in parallel without copy-pasting commands ten times.
per-tab opt-in toggle
keystrokes broadcast live
each tab keeps own scrollback
visual indicator on synced tabs
panic-stop on session crash
works across clusters of N tabs
-
46
iperf3 client
A standard iperf3 client, native implementation of the JSON wire protocol. Measure real TCP / UDP throughput against your own iperf3 server, not against generic Internet speed-test endpoints. Configurable parallel streams, duration, window size and direction (upload, download, bidirectional). The honest number for your real link.
iperf3 JSON wire protocol
TCP + UDP modes
parallel streams (-P)
upload / download / bidir
window size + duration
JSON result export
-
47
Code editor for remote files
Open any text file from the SFTP browser in a built-in editor with syntax highlighting, code folding, auto-indent, find / replace, go-to-line and line-ending control — then save it straight back over SFTP.
re_editor + re_highlight
~28 languages
fold / auto-indent
find / replace · go-to-line
LF / CRLF control
save back over SFTP
-
48
Zip and unzip over SFTP
Extract a remote archive, or compress files and folders into .zip or .tar.gz and upload — all from the SFTP browser, without dropping to a shell. Works on a single file, a selection or a whole folder.
zip + tar.gz
.zip + .tar.gz
extract / compress
file · selection · folder
size-guarded
no shell needed
-
49
Multitail log viewer
Follow several remote logs at once in split panes, each a live tail -F with severity highlighting, a per-pane grep filter, pause and clear. Presets for common log paths plus an SFTP picker. Lives as its own terminal tab.
tail -n 200 -F per pane
split panes
severity highlight
per-pane grep filter
1000-line ring buffer
own terminal tab
-
50
Remote SQLite browser
Point it at a remote .db — type the path or pick it via SFTP — and browse tables, schema and paginated rows over SSH using the server's own sqlite3. A free SQL box runs SELECTs and asks for confirmation before any write. Its own terminal tab; no download, no extra deps.
sqlite3 -json over SSH
tables · schema · rows
50 rows / page
SELECT + guarded writes
SFTP path picker
own terminal tab
-
51
SFTP file management
Rename files, create folders and set permissions with a visual chmod editor — an rwx grid that shows the live octal — right from the SFTP browser. View file info too. No dropping to a shell.
rename · mkdir
visual chmod (rwx grid)
live octal readout
file info / stat
from the SFTP browser
no shell needed
-
52
Search the scrollback
Find text across thousands of lines of terminal output, with a live match count and jump-to-next. Stop scrolling by hand looking for that one error line.
search visible scrollback
live match count
jump to next / previous
case-sensitive toggle
highlights in place
works per-tab
-
53
Extract URLs from output
Pull every link out of the terminal output into a tappable list — open it in the browser or copy it. No more selecting a long URL character by character on a phone.
scans visible output
http/https · ssh:// · ftp
de-duplicated list
tap to open · copy
from the session menu
phone-friendly
-
54
Session recording
Record a session's output (ANSI-stripped) to a log file and share it. Perfect for audits, change records, and the "what did I just do" moment after a long shift.
output to log file
ANSI escape stripping
start / stop per session
share or save out
audits & change records
local file, no upload
-
55
Live latency indicator
See the real round-trip time to the server, next to the session uptime and colour-coded. Know instantly whether the lag is the link or the box.
real RTT to server
shown by session uptime
colour-coded thresholds
updates live
spot link vs host lag
low overhead
-
56
SSH over HTTP proxy
Open the SSH connection through an HTTP CONNECT proxy (corkscrew-style), to reach servers from behind a restrictive corporate or HTTP proxy. Optional proxy authentication, with a built-in proxy test before you connect.
HTTP CONNECT tunnel
corkscrew-style
optional proxy auth
SSHSocket adapter
proxy test built in
behind corporate proxies
-
57
Remote port forward (-R)
Expose a local service through the server — ssh -R style. Open a port on the remote host that tunnels back to a service on your device or LAN. The reverse of a local forward: perfect for sharing a dev server or a quick demo from behind NAT.
REMOTE forward (-R)
remote port → local service
reverse of -L
GatewayPorts aware
IPv4 + IPv6
share from behind NAT