v0.9.0 New: runs in the tray, shell-history archaeology, encrypted notes

Every SSH host
without the cloud.

A cross-platform credential manager and terminal. Your hosts, keys, and passwords live in one encrypted vault on your machine - never on a server, never in plaintext.

Local-first No telemetry AES-256-GCM Auditable code
Kino SSH Manager
root@prod-web-01 host key verified
vault unlocked
~ $ connect prod-web-01
- tunnel localhost:5432 - db:5432 up
- snippet "system status" auto-run
root@prod-web-01:~# uptime
15:42:09 up 84 days, load 0.07 0.04 0.01
root@prod-web-01:~#
Features

One app for every connection.

A full terminal, file transfer, tunnels, and a credential vault - in a single native binary.

Runs in the tray New

Minimising sends Kino to the notification area instead of the taskbar, and closing the window leaves it running. When a host that was up goes down you get a desktop notification - add an ntfy topic and the alert reaches your phone.

Archaeology New

Pulls the shell history of the account you connect as into an encrypted archive per host. It accumulates - the commands HISTSIZE has already trimmed off the server survive here. Never part of an exported profile.

Encrypted notes New

Recovery codes, licence keys and API tokens, kept beside the vault under the same master password and synced with it. Bodies stay blurred until you click to reveal.

Process tree New

Processes group under their parents and branches fold; filtering keeps a match's ancestors so a hit never floats without the chain that spawned it. Signal any of them with SIGTERM, SIGINT, SIGHUP, SIGSTOP, SIGCONT or SIGKILL.

Cron editor

Reads the host's crontab and writes every schedule out in plain English - "At 04:00 on Tuesday" - with the next times each job will fire, in the host's clock. Only the lines you change are rewritten, so comments and PATH= survive untouched.

Key audit & rotation

Checks every stored key for weak algorithms, reuse across hosts and age - entirely on your machine. One click rotates a host to a fresh ed25519 key: install, prove it authenticates on a second connection, then remove the old one.

Copy output as an image

Select terminal output and get a PNG with its colours, bold and highlighting intact, captioned with the host and time. The buffer cells are re-rendered rather than screenshotted, so it's sharp and trimmed to the content.

Encrypted vault

Argon2 key derivation and AES-256-GCM. One master password unlocks every host, key, and snippet.

SSH terminal

A full xterm.js terminal per host, with split panes, broadcast input, adjustable font size, and scrollback configurable up to 200,000 lines.

Flexible auth

Password and/or SSH key per host. Import .pem, .key, .ppk - or generate ed25519 keypairs on the spot.

Port forwarding

Local (-L), remote (-R) and dynamic SOCKS5 (-D) tunnels, started and stopped per session - each drawn as a diagram showing which end opens the port and which way traffic flows.

SFTP browser

Browse, upload and download with progress, rename, delete, mkdir, and chmod - built in.

Snippets

A reusable command library. Selected snippets auto-run on connect, configurable per host.

Optional cloud sync

Sync the encrypted vault to a private GitHub repo, with sha-based conflict detection.

Output highlighting

Timestamps, severities, IP addresses, URLs and file paths are coloured from the active theme, in the spirit of MobaXterm. Never inside vim, htop or less, and never over output the host already coloured.

Find in terminal

Search reports how many matches there are and which one you're on, highlights every hit, and marks them on the scrollbar. Case-sensitive, whole-word and regular-expression toggles.

Typography & motion

Six bundled monospace faces for the terminal, an optional background override, and a choice of interface font including Atkinson Hyperlegible. A reduced-motion switch stops all animation and drops the decorative paint.

Host key verification

TOFU SHA256 fingerprint store. Trust on first use, then refuse on any mismatch.

Quality of life

Idle auto-lock, host search, per-host accent colors, 15 themes, split-pane naming, connection history, and session logging.

Remote file editor

Open a remote file from the SFTP browser and edit it in a built-in Monaco editor, saving straight back over SFTP - no download round trip.

Session recording

Record any SSH or local session to an asciicast file, then replay it in-app with a built-in player - great for audits and demos.

Docker management

List and control containers, images, volumes and networks over the SSH connection - with live log streaming and one-click container shells.

Agent mode

Optionally reach hosts with no inbound port - behind NAT, CGNAT or a firewall - through a relay. The agent dials out; nothing is exposed. Use Kino Cloud's relays or run your own. Off by default.

Encrypted profile sharing

Export a host as a password-encrypted file (Argon2 + AES-256-GCM). Share it safely - the recipient needs only the password to import it.

Live system metrics

A streaming dashboard - CPU, memory, disk, load average, uptime and network throughput - sampled once a second, for remote hosts and your own machine.

Jump hosts

Reach private hosts through a bastion, just like ssh -J. Pick any saved host as the jump; kino tunnels the session over it. Every hop's host key is verified independently, and bastions can chain.

AI copilot

An opt-in, bring-your-own-key assistant in the terminal, powered by OpenRouter. Ask about a host, explain an error, or select output and send it straight to the copilot. Your key stays encrypted in the vault.

Customizable shortcuts

Rebind the command palette, terminal find, copy, paste and font shortcuts to whatever fits your muscle memory - with live conflict detection and per-action reset.

Session restore

Optionally remember your open tabs and pane layout and rebuild them on unlock, reconnecting each host into its original pane - pick up right where you left off.

Home favorites

Pin the hosts you use most to a home panel of one-click connect cards, shown whenever a pane is empty. Star a host in the sidebar to add it.

Host health

An optional background probe shows a live reachability dot and round-trip latency next to each host, so you can see what's up before you connect. Off by default.

In-app updates

Install a new release from inside the app - the signed package downloads and applies in place, then offers a relaunch. Every update is verified against a bundled public key.

Kino Cloud

Agent mode with no infrastructure to run. Paste an account key once, add a machine, run the one-line installer it prints - then connect. Relays, tokens and rotation are handled for you, and the vault stores only the machine's id.

Relay discovery

Self-hosting? Point a host at kino-control instead of a fixed relay and the app asks where the agent is parked at connect time. Your saved relay URL stays as a fallback, so a control-plane outage degrades instead of locking you out.

Security model

Built so secrets stay yours.

  • Local-first by default. The vault is an AES-256-GCM ciphertext on your disk. Plaintext never touches a server.
  • Argon2-derived key. Your master password plus a random 16-byte salt derive the key. Nothing is stored in the clear.
  • Zero-knowledge sync. Cloud sync uploads only the encrypted blob - GitHub never sees your secrets or master password.
  • Secrets stay out of shared profiles. Notes and harvested shell history live in their own encrypted blobs beside the vault, never on a host record - which is what an exported profile serialises. Sharing a host never ships a command line you typed a password into.
  • Rotation that can't strand you. A new key is proved on its own connection before the old one is removed, and the rewrite of authorized_keys is refused if the new key isn't in the result. The audit itself contacts nothing.
  • Memory hygiene. Secrets are zeroized on lock; idle auto-lock and master-password re-keying are built in.
  • Encrypted sharing. Exported host profiles are sealed with their own password - a separate Argon2 key, never your master password - so a profile can be handed to a teammate safely.
  • Relays are blind. Agent mode keeps SSH end-to-end encrypted; a relay forwards ciphertext and cannot read a session even if you don't run it yourself.
  • Cloud without custody. Kino Cloud brokers connections, not credentials: your account key is encrypted under the vault key and dropped from memory on lock, connection tokens are short-lived and fetched per session, and they travel as headers - never in a URL that a proxy log could keep.
Cryptographic details
vault encryptionAES-256-GCM
key derivationArgon2
salt16 bytes · random
host keysTOFU · SHA256
generated keysed25519
key auditlocal only
memory on lockzeroized
sync payloadciphertext only
profile exportAES-256-GCM
relay transportTLS · wss://
cloud account keyvault-encrypted
connection tokensshort-lived · per session
Under the hood

Native, fast, and small.

A Rust backend behind a React interface, packaged as a lightweight Tauri 2 desktop app.

Rust Tauri 2 russh · SSH/SFTP aes-gcm + argon2 React 19 + TypeScript Vite + Zustand xterm.js

Your hosts, everywhere.

Free and open source under the GPL-3.0 license. Download a build, or compile it yourself in minutes.