Cross-platform
A terminal that keeps the vault on your machines.
macOS available now. Android in development. Windows, Linux, and iOS builds planned.
TermiPort is a terminal and SSH client. Hosts, keys, known hosts, serial profiles, and port forwards live in an encrypted vault on the device. Sync is optional. When it is on, the server stores ciphertext only.
- Terminal
- Serial
- SFTP
- edge user@edge
- db via edge ⇄
- Keys
- Known Hosts
What it does
The menus and buttons in the app are in English. The list below is what the current app actually implements.
-
SSH
Saved hosts and nested groups, password and keyboard-interactive sign-in, file keys, jump hosts, known hosts, and reconnect after a drop.
-
Keys and an agent
Ed25519, ECDSA, and RSA keys in the vault. On a Mac, Secure Enclave keys with Touch ID and FIDO2 security keys. A built-in agent can forward chosen keys.
-
Port forwarding
Local, remote, and SOCKS rules on each host. Start them with the connection, or open a tunnel with no terminal.
-
SFTP
A two-pane tab: this computer and the host. One queue, a choice when names collide, and drag and drop on macOS.
-
Local terminal
The machine’s own shell in a tab. On a Mac it can receive the agent socket. On Android it is the app’s
/system/bin/sh. -
Serial
Quick connect and saved profiles, USB identity so a device can be found again, session logs, and reconnect when the cable comes back.
-
Import and backup
OpenSSH, PuTTY, KiTTY, SecureCRT, Tabby, MobaXterm, CSV, and, on macOS, Termius. An encrypted backup file of the vault.
-
Sync and a license
End-to-end encrypted sync. Through 2028 (the development and testing period), free licenses for unlimited devices and unlimited duration are issued on request.
How a session is kept
-
Unlock the vault
A master password derives a key with Argon2id. Each record is encrypted on its own with XChaCha20-Poly1305. On a Mac you can also unlock with Touch ID. On Android 12 and later, with a fingerprint. Neither replaces the password as something you can look up later: a forgotten master password cannot be recovered.
-
Open a tab
A tab is a session: an SSH channel, the local shell, or a serial port. SFTP uses its own connection to the same host. Port forwards live in the SSH tab, or in a tunnel tab that has no shell. The terminal is drawn with xterm.js.
-
Sync only if you want to
Records leave the device already encrypted with an account key that only your devices hold. That key is not derived from the master password or the account password. A new device signs in with the account password and a second factor, if you turned one on.
The documentation walks through install, the first connection, and each of these workflows.
Platforms
| Where | Status |
|---|---|
| macOS 13.3 or later | Available now (Apple silicon and Intel). Secure Enclave, FIDO2, the full SFTP panes, drag and drop, and the agent socket for local programs. |
| Android 9 or later | Under development — not a finished release. arm64 phones and tablets; SSH, vault, sync, and related features are being built out. Fingerprint unlock needs Android 12. |
| Windows, Linux, and iOS | Planned. TermiPort is meant to be cross-platform; desktop and iOS builds are future work. No release dates yet. |
| A server you run | termiport-server for sync: install from deb.yukh.net (Debian 12 and 13) or alt.yukh.net (ALT p11 and Sisyphus). That is the sync daemon, not a Linux desktop app. See Your own server. |
Sync uses a server you run. The app still installs its own updates from the developer, whether sync is on or not.
Download
Current macOS release 26.10.30.55 — also on GitHub.
Android is under development. There is no polished public APK on the release page yet; builds are for testing as the app matures. Windows, Linux, and iOS downloads are not available yet.
The macOS build is ad-hoc signed and not notarized. The first launch needs Open Anyway under System Settings → Privacy & Security.
Inside the app, Check for Updates… installs only a build signed by the key built into TermiPort. A build made without an update server does not receive updates.
License
Until 2028 there is a development and testing period. During this period all licenses are free, for unlimited duration and unlimited number of devices. Licenses are issued on request. Get in touch via yukh.net.
Install the file in Settings → License → Install License…. It belongs to the account email and works on any TermiPort server. Without a license, an account can sync on 3 active devices; revoked devices do not count. After a timed license’s end date it keeps working for 14 days. Then the free limit applies again: the oldest devices keep full sync, the others become read-only, and nothing is deleted. This site does not sell licenses and does not list a price.