FeaturesStar12Download
Feature index

Every tool.
One app.

Kammel packs an SSH client, a real terminal, an SFTP explorer, a code editor, a git panel, a Docker console and port forwarding into one app you can drive with your thumbs. Here is all of it, in detail.

9
Areas
54
Features
0.
Accounts
SSH · Sessions

Connect
once.

Save a server, open as many shells on it as you need, and keep them alive while you do something else on your phone.

Profiles

Saved servers

Host, port, user and either a password or a private key — plus the tunnels that belong to that server. Edit one form, connect from one tap.

Multi-session

Terminal tabs

Several SSH sessions open at the same time, each with its own shell, working directory and status. Tap to switch, double-tap to rename, close what you no longer need.

Resilience

One-tap reconnect

When a connection drops, a strip appears over the terminal. One tap re-establishes the session and brings back exactly the tunnels that were up.

Foreground service

Sessions that survive

A native Android service keeps the process — and every open shell — running while the app is in the background, the way Termux does.

ed25519

Device SSH key

Generate a key pair on the phone and copy the public half straight into a server's authorized_keys. No laptop in the loop.

Linux desktop

Same app on the desktop

The Linux x86_64 build is the same codebase, the same profiles and the same shortcuts — not a stripped-down port.

Keystore · Known hosts

Secrets stay
on device.

Nothing is uploaded, synced or phoned home. The only traffic Kammel makes is the SSH connection you asked for.

Hardware-backed

Encrypted key storage

Passwords and private keys live in the Android Keystore (via EncryptedSharedPreferences) or in libsecret on Linux — never in plain text, never in a config file.

TOFU

Host key pinning

A new server is confirmed once and pinned. A key that later changes blocks the connection instead of shrugging it off — the classic MITM signal, taken seriously.

SHA256

Real fingerprints

Fingerprints are OpenSSH-format SHA256:… strings, byte-for-byte the ones ssh-keygen -lf prints, so you can compare them against the server you control.

Audit

Known-hosts manager

Every pinned server is listed in Settings with its fingerprint, and any entry can be forgotten when a host is legitimately rekeyed.

Biometrics

App lock

Optional fingerprint or face unlock when the app comes back to the foreground, falling back to the phone's own PIN, pattern or password.

Zero telemetry

No account required

No sign-up, no analytics, no crash pings. Delete the app and nothing of yours is left anywhere else.

xterm · Patched build

A terminal
built for thumbs.

A real emulator — full-screen TUIs, colours, mouse reporting — wrapped in the controls a physical keyboard would normally give you.

Emulation

Full xterm

256 colours, alternate screen buffer and mouse support, so vim, htop, tmux and TUI agents render the way they do on a desktop.

Smart keyboard

Programmable key rows

Ctrl-C, Esc, Tab, arrows, pipes and your own commands as tappable keys. Reorder them, resize them, page through them, add the ones you actually use.

Modifiers

Sticky Ctrl & Shift

Arm a modifier, then press the next key — the combination a soft keyboard can't otherwise produce.

Gestures

Pinch to resize

Two fingers scale the terminal font live and the size is remembered. Single-finger scrolling and text selection keep working untouched.

Focus

Fullscreen mode

Collapse every piece of app chrome and hand the whole screen to the shell, with a floating pill to come back.

Scrollback

Link grabber

Scans the buffer for URLs and lists them newest-first — the fix for a dev server or tunnel link that scrolled away three builds ago.

Selection

Copy without a mouse

Handle-based selection over the terminal grid for copying output, plus paste straight back into the shell.

Claude Code · TUI agents

Run agents
from anywhere.

Kammel is built around the loop of driving a coding agent on a remote machine: it tells you when the agent needs you, and gets context to it fast.

BEL · OSC 9/777

Agent notifications

When a backgrounded session signals that it needs input, a heads-up notification fires and takes you straight to that tab.

Tuning

Alerts you can trust

Per-event intensity, quiet hours, detector sensitivity, per-session mute and a test button — plus a log of what fired and why, so a misfire can be diagnosed instead of remembered.

Snippets

Prompt library

Save the instructions you send over and over and insert them as a bracketed paste — dropped into the prompt without submitting, so you can still edit before you commit.

Speech

Dictate a prompt

Compose with the device's speech recognizer when typing a long instruction on a phone keyboard isn't worth it.

SFTP upload

Attach anything

Pick a file or image; Kammel uploads it over SFTP and writes the remote path into the prompt, with a live progress ring while it transfers.

Clipboard

Paste a screenshot

Insert an image straight from the soft keyboard. Same path: uploaded, then handed to the agent as a file it can open.

SFTP · re_editor

Browse, edit,
preview.

Every file operation runs over SFTP on the session you're already connected to — no second app, no syncing a copy down first.

Explorer

Remote file system

Navigate the server, create files and folders, rename and delete, multi-select, copy and paste. The Android back gesture can walk you up the tree instead of leaving.

Transfers

Upload & download

Send files from the phone, or pull remote ones into a folder you choose — with a live progress bar and a result strip that waits for you if you switched tabs mid-transfer.

Editor

Syntax-highlighted code

Open a source file and edit it with highlighting and a dirty-state indicator; saving writes back over SFTP. The connection is captured when the file opens, so switching sessions never breaks the edit.

Filter

Find it in a long directory

Live filtering over the current listing, for the servers where /etc has three hundred entries.

Viewers

PDF, Markdown & media

Read PDFs, render Markdown at a zoom level you set, view raster images and SVGs, and play video or audio — all inside the app.

Sync

Terminal follows the explorer

Optionally keep the shell's working directory and the file browser's path pointed at the same place.

git · Local or remote

Source control
in the panel.

A git client that drives the repository where it actually lives: on the server over an SSH exec channel, or on the machine running the Linux build.

Status

Staged & unstaged, split

Parsed from git status --porcelain=v1 -z, keeping the index and worktree columns separate — and safe with paths containing spaces, quotes or renames.

Actions

The whole everyday loop

Stage, unstage, discard, commit and amend, fetch, pull (with or without rebase) and push, without typing a single command.

Diff

Coloured unified diff

Tap a changed file to read its diff, staged or unstaged, rendered with proper additions and deletions instead of raw patch text.

Tree

Lazy project browser

Walk the repository from the same panel and long-press any file to send it to the explorer and editor.

Safety

No shell injection

Commands are built from argument lists and quoted individually, so a commit message can contain quotes, $ or newlines and still be exactly what you typed.

Timeouts

Fails instead of hanging

Terminal prompts are disabled and ssh runs with BatchMode, so a push that needs a passphrase reports an error rather than freezing the channel.

Monitor · Docker · SQL

Audit the box
without typing.

A dedicated console with its own SSH client, independent from your terminal tabs, for the operations you'd otherwise google the flags for.

Monitor

Resources at a glance

CPU, memory, disk and service state on live gauges, so a server that's misbehaving announces itself before you start reading logs.

Docker

Container control

List containers with state filters, start and stop them with a tap, and inspect the ports they publish.

Docker

Images, volumes & networks

Browse everything the daemon holds, check what's eating disk with system usage, and drive Compose projects and their logs.

Database

Tables & rows

Connect a database profile and read its tables in a row grid, without shelling into a client.

Database

Schema map

An entity-relationship view of the schema — the fastest way to remember how a project's tables actually join.

Database

SQL console

Write and run queries against the connected database and read the result inline.

Port forwarding

Forward ports,
watch traffic.

All three OpenSSH forwarding modes, configured per server and managed with the session that carries them.

-L · -R · -D

Local, remote & SOCKS5

Reach a database bound to the server's loopback, expose a local port back to the host, or point an app at a SOCKS5 proxy running over the connection.

Live

Byte counters

A dedicated screen shows every tunnel's throughput, and the terminal toolbar carries a badge that turns red the moment one fails.

Lifecycle

Tied to the session

Tunnels start when the session connects, come back on reconnect exactly as they were, and apply live when you edit them — no reconnect needed.

Binding

Loopback by default

A forwarded port is only reachable from the phone itself unless you explicitly expose it to the LAN.

Idle timeout

Closes when unused

Optionally shut a tunnel down after N minutes with zero open connections — it narrows the exposure window and never cuts a transfer in progress.

Themes · i18n · Updates

Shape it
around you.

A tool you use every day should look and behave the way you want it to.

Appearance

Themes & accent colour

Switch the app theme and pick an accent — including custom colours you mix yourself and keep in the palette.

Terminal

Colour schemes & fonts

Choose the terminal palette, the monospace font and the size for both the terminal and the editor.

Layout

Shortcut editor

Build the quick-key rows yourself: labels, payloads, order, key height and width, across as many pages as you need.

Scale

Interface density

Adjust icon scale so the UI fits your screen and your eyes rather than an average of both.

English · Español

Fully localised

The whole interface ships in both languages and switches instantly, without losing your open sessions.

Releases

In-app updates

Kammel checks GitHub Releases, shows the release notes and installs the new build for you.

The short version

Specs, not
promises.

Everything above runs on the build you can download right now — and on the source you can read line by line.

Platforms
Android 8+ · Linux x86_64
Protocols
SSH-2 · SFTP · SOCKS5
Auth
Password · ed25519 & RSA keys
Host keys
SHA256 pinning (TOFU)
Secret storage
Android Keystore · libsecret
Built with
Flutter · dartssh2 · xterm
Licence
MIT — open source
Price
Free. No account, no telemetry