Skip to content
keselyolerenPublic

Repository files navigation

K-Shell logo

K-Shell

A lightweight, open-source SSH, SFTP, FTP and S3 client for macOS, Windows and Linux.

Manage all your servers and remote storage from one fast, native app: no account, no cloud and no telemetry.

Latest release Downloads License: MIT Platforms Stars

Website · Download · User guide

Features · Install · Build from source · Docs · Contributing


K-Shell demo: opening a workspace, autosuggestions, dragging split panes, merging a tab, hiding the sidebar, port forwarding from a pasted ssh command and the command palette
More screenshots
Split panes Workspaces Port forwarding
Three terminal panes from two workspace projects Workspaces with local project folders A forwarding rule filled in from a pasted ssh -L command
Hosts File Manager Command palette
Host list grouped by environment Dual-pane file manager with a transfer Command palette search

If K-Shell is useful to you, a ⭐ on GitHub helps other people find it.


K-Shell is a modern take on the Termius-style workflow, built with Rust + Tauri 2 for the networking core and Vue 3 + xterm.js (WebGL) for the UI. Installers are small: about 4 MB on Windows, 7 MB as a .deb and 11 MB as a universal macOS .dmg.

Features

Area What you get
Hosts Groups, tags, colours, automatic OS detection, search, recent hosts, grid/list view, duplicate, test connection, import from ~/.ssh/config
Terminal Tabs (rename, reopened on launch), split panes (side by side / stacked, resizable; drag panes by their header to rearrange, drag a tab onto a terminal to merge it as a split), broadcast input to every pane of a tab, drop files onto a terminal to type their paths, find, copy-on-select, right-click paste, 25 colour themes, dark and light (optionally a separate one for light mode), custom bash/zsh prompt builder, history autosuggestions, startup command, one-key reconnect, automatic SSH reconnect, follows the shell's working directory, keyword highlighting, session logs, local shell, workspaces that group local project folders (open one or all in their folder, with an optional startup command)
Authentication Password, keyboard-interactive, keys from the built-in keychain, ssh-agent / Pageant, default ~/.ssh/id_* keys
Jump hosts ProxyJump chains (laptop → bastion → … → target)
Security Trust-on-first-use host keys with mismatch blocking, honours ~/.ssh/known_hosts, vault encrypted with XChaCha20-Poly1305 and its key kept in the OS keychain
Keychain Grid/list view, generate Ed25519 / ECDSA / RSA-4096 keys (optional passphrase), import, copy public key, install on a server (ssh-copy-id)
File manager Dual pane between any pair of Local / SFTP / FTP / FTPS / S3 / Azure Blob / GCS; drag between panes, drop files from your OS, recursive folders, parallel transfer queue with speed and cancel, rename, delete, chmod, built-in code editor with syntax highlighting, image preview, open any file in its default app (remote files are offered for upload when saved there)
Object storage Any S3-compatible service (AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Wasabi, Backblaze B2, Tencent COS, Scaleway, Hetzner, Linode, Oracle, …) with path-style or virtual-hosted URLs, plus native Azure Blob Storage and Google Cloud Storage (service-account key). Share links: pre-signed for S3, read-only SAS for Azure, signed URL for GCS (needs a service-account key; not yet tested against real GCS)
Port forwarding Local (-L), remote (-R) and dynamic SOCKS5 (-D) tunnels through your saved hosts, with optional auto-start; paste an ssh -L … command to create rules, copy any rule back as an ssh command
Snippets Save commands (with {{variables}} asked for when they run), paste them into a terminal, or run them on many hosts at once with per-host output
Updates Signed in-app updates: an Update K-Shell button appears when a new version is out, and one click installs it and restarts
Everything else Command palette (⌘K) with quick connect user@host:port, encrypted vault backup and restore

Install

Download the installer for your system from keselyoleren.com/download, which picks the right file automatically, or from the Releases page: .dmg (macOS, Apple Silicon and Intel), .msi/.exe (Windows), .deb/.rpm/.AppImage (Linux). Once installed, K-Shell updates itself: an Update K-Shell button appears when a new version is out.

macOS: builds are not notarised yet. On first launch, open the app once, then go to System Settings → Privacy & Security and click Open Anyway.

Build from source

Prerequisites: Rust ≥ 1.85, Node.js ≥ 20, and the Tauri system dependencies for your OS.

git clone https://github.com/keselyoleren/k-shell.git kshell
cd kshell
npm install
npm run app:dev      # run with hot reload
npm run app:build    # produce an installer in src-tauri/target/release/bundle/

See docs/DEVELOPMENT.md for per-OS setup, testing and debugging tips.

Keyboard shortcuts

Every shortcut can be changed, removed or reset in Settings → Keyboard shortcuts. Defaults:

macOS Windows / Linux Action
⌘K Ctrl+Shift+K Command palette / quick connect
⌘, Ctrl+, Open settings
⌘T Ctrl+Shift+T New local terminal
⌘W Ctrl+Shift+W Close tab
⌃⇥ / ⌃⇧⇥ Ctrl+Tab / Ctrl+Shift+Tab Next / previous tab
⌘D Ctrl+Shift+D Split right
⇧⌘D Ctrl+Shift+E Split down
⌘] / ⌘[ Ctrl+Shift+] / [ Focus next / previous pane
⌥⌘I Ctrl+Shift+I Broadcast input to all panes of the tab
⌘F Ctrl+Shift+F Find in terminal
→ / ⌥→ → / Ctrl+→ Accept autosuggestion / its next word
⌘= / ⌘- / ⌘0 Ctrl+= / Ctrl+- / Ctrl+0 Zoom in / out / reset
⌘B Ctrl+Shift+B Show / hide the sidebar
⌘1 Ctrl+Shift+1 Host list (Vault)
⌘2 … ⌘9 Ctrl+Shift+2 … 9 Switch to an open tab

Where is my data?

Everything is stored locally in one encrypted file in your OS app-data directory:

OS Path
macOS ~/Library/Application Support/dev.keselyoleren.kshell/vault.bin
Windows %APPDATA%\dev.keselyoleren.kshell\vault.bin
Linux ~/.local/share/dev.keselyoleren.kshell/vault.bin

Development builds use vault-dev.bin so they never touch your real data. Use Settings → Encrypted backup to move your vault between machines.

Documentation

  • User guide: how to use every feature, shortcuts, settings, security and troubleshooting

For contributors:

License

MIT © K-Shell contributors

Releases

Packages

Used by

Contributors

Languages