Free shipping on orders over $99 30-day returns Secure checkout

Escape Terminal

A secure SSH and serial terminal for phones and tablets, with the keys a terminal actually needs.

No reviews yet Developer tools Version 0.1.0 Updated August 2026 by Korra International

Overview

Escape Terminal is a cross-platform SSH and serial administration client for phones and tablets.

The security is structural rather than promised. The connection state machine has no legal path from algorithm negotiation to authentication that skips host-key verification — a test asserts the jump is rejected, and a live test against a real OpenSSH server asserts the event history shows verification strictly before auth. An unknown host key is a decision you make once, on a fingerprint you can read. A key that has changed blocks the session.

Saved connections live in a SQLCipher-encrypted store: opening it with the wrong key fails, and the file on disk verifiably contains no plaintext. Secrets are held as references and redacted at construction time, so a password cannot reach a log by accident.

The terminal is a real terminal. Full VT parsing with colour and attributes, scroll regions, alternate screen for full-screen applications, selection and search. The accessory keyboard row puts Esc, Tab, Ctrl, Alt, arrows and function keys where you can reach them, instead of behind a symbol page.

Everything an administrator reaches for is here. Port forwarding in all three directions — local, reverse, and a dynamic SOCKS proxy — with jump hosts for machines that only answer from inside another network. Port knocking sends the secret sequence that opens a firewalled port and then connects, in one tap. X11 forwarding puts remote windows on a display attached to the device. Split view and broadcast typing run several machines at once on a tablet, output triggers watch a long job for you, and session transcripts leave a readable record of what the screen showed.

It also speaks serial over USB on Android, with chipset support for FTDI, CP210x, CH34x and PL2303, and moves files over SFTP or straight between a server and a Nextcloud or WebDAV account.

Features

Host verification cannot be skipped

The state machine has no path from negotiation to auth that bypasses it, and a test proves the jump is refused.

Port knocking

Sends the secret sequence that opens a firewalled port, then connects, in one tap. TCP or UDP per knock, with a gap you set.

Reverse forwarding

A port on the server carried back to this device — the -R forward — alongside local forwards and a dynamic SOCKS proxy.

Jump hosts

Reach a machine that only answers from inside another network, each hop with its own authentication.

The keys a terminal needs

Esc, Tab, Ctrl, Alt, arrows and function keys in an accessory row you can choose the contents of.

A real VT terminal

Colour and attributes, scroll regions, alternate screen, selection and search.

Split view

Two live sessions side by side on a tablet or desktop, with everything following the focused pane.

Broadcast typing

The same command across a row of identical machines. Only running sessions receive it.

Output triggers

Watches a session's output for text you name and acts when it appears — for the long job you cannot sit and watch.

Session transcripts

A readable text record of what the screen showed, written as it runs. A password typed at a prompt never echoes, so it is not in the file.

SFTP browsing

Browse and move files on the remote machine over the same session.

Cloud transfers

Nextcloud and WebDAV accounts, set up by QR code, and files moved directly between a server and the cloud.

X11 forwarding

Windows from remote programs on a display attached to this device. A display that cannot be read is refused rather than silently doing nothing.

Serial over USB

FTDI, CP210x, CH34x and PL2303, with line settings and BREAK, on Android.

Connections encrypted at rest

SQLCipher store: the wrong key fails to open it, and the file contains no plaintext.

Biometrics, per connection

Face ID, Touch ID or Android BiometricPrompt in front of your secrets, and optionally in front of a particular connection.

Imports your SSH config

Typed directives read in; anything unsupported is preserved as a note rather than dropped.

Snippets with variables

${HOST}, ${USER}, ${PORT}, ${DATE} and prompted secrets, handled so they stay out of logs.

An audit trail

Sessions opened and closed, host-key decisions and transfers, copyable as text for a ticket. Key-shaped values are removed as each line is written, not on the way out.

Themes and per-connection palettes

A palette per connection, so production does not look like staging, with font size set per orientation.

Reconnects sensibly

Exponential backoff with bounded jitter and a cap, rather than hammering a host that is down.

Screenshots

Saved connections, searchable, with status at a glance
Saved connections, searchable, with status at a glance
Every action for a connection: session, SFTP, edit, duplicate, archive
Every action for a connection: session, SFTP, edit, duplicate, archive
A connection is identity, host, port and authentication
A connection is identity, host, port and authentication
Key file, method order and agent forwarding
Key file, method order and agent forwarding
Tools: port forwards, serial and snippets
Tools: port forwards, serial and snippets
Settings: appearance, biometrics, audit trail and host keys
Settings: appearance, biometrics, audit trail and host keys
Security settings, connection history and known hosts
Security settings, connection history and known hosts

Video demo

Escape Terminal — every menu, on a real phone

What's included

  • Android build (arm64, armv7 and x86_64)
  • Lifetime licence for three devices
  • Every future 0.x and 1.x update
  • SSH, SFTP and USB serial in one application
  • Port forwarding, jump hosts, port knocking and X11 forwarding
  • Email support

System requirements

Android

Operating system
Android 9.0 (API 28) or later
Processor
arm64-v8a, armeabi-v7a or x86_64
Memory
2 GB
Disk space
200 MB

USB serial needs a device with USB Host support.

iOS

Operating system
iOS 16.0 or later
Processor
Apple A-series or Apple Silicon
Disk space
200 MB

USB serial is not available on iPhone; the app says so rather than letting you discover it.

Changelog

  1. Version 0.1.0

    New

    • Hardware-backed secure storage with a biometric gate on Android and iOS
    • USB serial: enumeration, permissions, CDC-ACM line settings and BREAK
    • SFTP browsing alongside the shell session
    • OpenSSH config import, preserving unsupported lines as notes
    • Snippets with variable expansion and prompted secrets

    Fixed

    • Host trust prompt no longer appears before the fingerprint is available

    Improved

    • Reconnect backoff is now exponential with bounded jitter and a cap
    • Terminal parser handles malformed escape sequences without leaking them to the screen
  2. Version 0.0.2

    New

    • SSH transport with the full connect pipeline verified against a live OpenSSH 9.6 server
    • Password, public-key and keyboard-interactive authentication
    • PTY channel with mid-stream window resize

Reviews

No reviews yet. Yours would be the first.

Log in to write a review.

FAQ

What happens the first time I connect to a host?

You are shown the key fingerprint and asked to trust it. Nothing is trusted automatically, and if that key later changes the connection is blocked rather than quietly accepted.

Where are my keys and passwords stored?

In an encrypted store on the device — SQLCipher for the profiles, plus the platform keystore or Keychain for the secrets themselves, behind a biometric gate where the hardware supports one. Opening the store with the wrong key fails, and the file contains no plaintext.

Can I use it as a serial console?

On Android, yes — over USB, with FTDI, CP210x, CH34x and PL2303 chipsets and full line settings. On iPhone the hardware does not allow it, and the app tells you that rather than letting you find out.

Will my existing SSH config work?

It can be imported. Typed directives are read in; anything not supported is kept as a note against the connection rather than silently dropped.

Does it work on a tablet?

Yes. Font size can be set separately for landscape and portrait, and the accessory row and terminal reflow with the window.

Can it do reverse forwarding?

Yes. Forwards come in all three kinds: local (-L), reverse (-R, a port on the server carried back to your device) and dynamic (a SOCKS proxy routed through the server). They start with the session and stop when it ends. The server has to permit them — AllowTcpForwarding, and GatewayPorts for a reverse forward that should be reachable from elsewhere.

Does it support port knocking?

Yes. Put the sequence on the connection — 7000,8000,9000, or udp:7000, tcp:8000 to set a protocol per knock — and the app knocks and then connects in one tap. You can set the gap between knocks; too fast and they can arrive out of order, which a firewall treats as wrong. An unreadable sequence is refused before connecting rather than partly sent.

Can I reach a server that is only visible from another machine?

Yes, with jump hosts. Add each hop in the order it is used and the connection is made through them in turn, each hop with its own password, key or agent.

Can I export my snippets or my SSH config?

Not yet, and it is worth being exact about what that means. SSH config works one way today: you can import one, and unsupported directives are kept as notes rather than dropped, but the app does not write one back out. Snippets can be created, edited, reordered and deleted, but not exported. The audit trail is the one thing you can take out, as text. An encrypted backup format is implemented and tested in the core, so the hard part is done — what is missing is the binding and the button.