Skip to content

Releases

K-Shell 0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 14:29

K-Shell now talks to more than SSH servers: Telnet and serial consoles open as terminal tabs, so switches, routers and boards sit next to your servers. Terminals can show pictures, PuTTY users can bring their sessions along, and hosts and files are easier to tell apart at a glance.

Already using K-Shell? Open K-Shell and click Update K-Shell in the top-right of the tab bar (or Settings → About → Check for updates). It downloads, verifies, installs and restarts. Your hosts, keys and settings are kept.

New install: pick your installer below, or open https://www.keselyoleren.com/download and the right file for your system downloads automatically.

System File
macOS (Apple Silicon and Intel) K-Shell_0.5.0_universal.dmg
Windows 10 / 11 (64-bit) K-Shell_0.5.0_x64-setup.exe (or the .msi)
Linux .AppImage (any distro), .deb (Debian/Ubuntu) or .rpm (Fedora/openSUSE)

First launch: the installers aren't code-signed yet.

  • macOS: open the app once, then go to System Settings → Privacy & Security and click Open Anyway.
  • Windows: in the SmartScreen dialog, click More info → Run anyway.

How everything works: https://www.keselyoleren.com/docs/

What's new

Telnet and serial consoles

  • Telnet hosts. Pick Telnet in the host editor, enter the address and port (23 by default), and log in at the device's prompt. K-Shell sends the terminal size, again when you resize, and the terminal type. Telnet isn't encrypted, and the host editor says so.
  • Serial hosts. Pick Serial, choose the port (/dev/ttyUSB0, /dev/cu.usbserial-…, COM3; the editor lists the ones it finds) and set the baud rate, data bits, parity, stop bits and flow control. New hosts start at 9600 8N1.
  • Both open as terminal tabs with splits, broadcast input, snippets, keyword highlighting and session logs. They don't reconnect by themselves, since a dropped line can't be told apart from a logout: press Enter to connect again.

Terminal

  • Images in the terminal. Sixel and the iTerm2 inline image protocol work, so img2sixel, imgcat, chafa, timg, viu or lsix show pictures, locally and over SSH. Each terminal keeps up to 64 MB of images by default; when that fills up, the oldest become a placeholder. Turn it off or change the limit in Settings → Terminal → Images. Session logs leave the image data out.
  • 10 more themes, 35 in all: Tomorrow Night, Material Darker, Iceberg, Oceanic Next, Cobalt2, Nightfox, Dayfox (light), Palenight, Zenburn and Horizon.

Hosts

  • Import PuTTY sessions. Import on the Hosts page is now a menu. On Windows, PuTTY sessions reads them from the registry. On any system, PuTTY .reg file… imports a regedit export of HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions, handy when moving from a Windows PC. Host, port, user, agent forwarding and the private key file (.ppk, added to the Keychain) come along, and an SSH proxy becomes the jump host. PuTTY saves no passwords, so none are imported. Telnet and serial sessions and SOCKS/HTTP proxies are listed as skipped.
  • Logos. SSH hosts show the logo of their OS once K-Shell has detected it (Ubuntu, Debian, Fedora, Red Hat, Arch, Alpine, macOS, FreeBSD and more). Object storage hosts show their provider, found from the endpoint: Cloudflare R2, DigitalOcean Spaces, Wasabi, Backblaze B2, Google Cloud, Scaleway, Hetzner, Linode, MinIO.

File manager

  • Resume interrupted transfers between your computer and an SFTP server, in both directions. When the destination already holds part of a file, K-Shell asks Resume transfer? with Skip, Overwrite and Resume. Resume continues from the bytes already there and checks the final size. For a folder that already exists, it skips the complete files and continues the partial ones. FTP and object storage still copy from the start.
  • File icons. Code and tooling files show the logo of their language or tool: Python, JavaScript, TypeScript, React, Rust, Go, Java, Kotlin, C, C++, PHP, Ruby, Swift, Vue, Svelte, HTML, CSS, JSON, YAML, Markdown, Bash, Terraform and about 40 more, plus files like package.json, Cargo.toml, go.mod, Dockerfile, .gitignore and .env. Hold the pointer over one to see its name. Other files get an icon for their type: text, PDF, spreadsheet, slides, image, video, audio, archive, key, database, font and so on.

The OS, provider and language logos come from Simple Icons (CC0).

Known limitations

  • Tested mostly on macOS. The Windows and Linux builds pass the automated build and tests but have had little hands-on testing.
  • Serial consoles were tested against a simulated port on Linux, not yet with real USB-serial hardware or Windows COM ports. On Linux your user needs to be in the dialout group (uucp on Arch) to open a serial port.
  • C# and PowerShell files have no logo of their own: .cs shows the .NET logo and .ps1 the script icon.
  • With Follow the working directory on, the one-line hook K-Shell types into new zsh sessions can stay in your zsh history unless HIST_IGNORE_SPACE is set. Turn the option off in Settings → Terminal if you prefer.
  • If an in-app update fails, download the new version from https://www.keselyoleren.com/download and install it over the old one.

Please report problems in Issues.

K-Shell 0.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 14:37

The terminal now keeps up with you: it reconnects on its own, comes back with your tabs, follows the folder you are in and colours the errors in your logs. The file manager opens any file, highlights code and can upload a file you edited in another app.

Already using K-Shell? Open K-Shell and click Update K-Shell in the top-right of the tab bar (or Settings → About → Check for updates). It downloads, verifies, installs and restarts. Your hosts, keys and settings are kept.

New install: pick your installer below, or open https://www.keselyoleren.com/download and the right file for your system downloads automatically.

System File
macOS (Apple Silicon and Intel) K-Shell_0.4.0_universal.dmg
Windows 10 / 11 (64-bit) K-Shell_0.4.0_x64-setup.exe (or the .msi)
Linux .AppImage (any distro), .deb (Debian/Ubuntu) or .rpm (Fedora/openSUSE)

First launch: the installers aren't code-signed yet.

  • macOS: open the app once, then go to System Settings → Privacy & Security and click Open Anyway.
  • Windows: in the SmartScreen dialog, click More info → Run anyway.

How everything works: https://www.keselyoleren.com/docs/

What's new

Terminal

  • Reconnects by itself. When an SSH connection drops (Wi-Fi switch, laptop asleep), K-Shell tries again after 1, 2, 4, 8 and 15 seconds, then every 30 seconds for about 3 minutes, and right away when the network is back. Press Enter to reconnect now or Ctrl+C to stop. An exit you typed yourself is left alone.
  • Follows your working directory. Split a pane and the new one opens in the same folder. After a reconnect, or when your tabs reopen, you are back where you were. Open SFTP here and Open in file manager open that folder too. For bash and zsh K-Shell adds a small hook to new sessions; shells that already report their folder work as they are.
  • Broadcast input. Type in one pane of a split tab and the other panes get the same keystrokes, pastes and snippets. Turn it on with ⌥⌘I (Ctrl+Shift+I), the command palette or a pane's right-click menu. Click the broadcast icon in a pane's header to leave that pane out.
  • Keyword highlighting. Errors show in red, warnings in yellow and successes in green, in any output. Add your own rules (words or a regular expression, any theme colour) in Settings → Terminal → Highlight keywords. Full-screen programs such as vim or htop are left alone.
  • Drop files on a terminal to type their paths, quoted for the shell.
  • Paste warning. Pasting several lines shows them first, since each line can run as a command.
  • Session logs. Turn on Settings → Terminal → Log terminal sessions to keep a plain-text copy of every session in Documents/K-Shell Logs (or a folder you choose). Colour codes are removed and progress bars are saved at their final state.
  • More settings: font weight, letter spacing, minimum contrast, cursor shape in unfocused panes, a bell that flashes and/or beeps, and the shell and start folder for local terminals. On macOS you can turn off Use Option as Meta key to type @, € or [ with Option on non-US keyboards.

Tabs

  • Your tabs come back. Close K-Shell and open it again: terminal tabs with their split layout and file-manager tabs reopen and connect. Hosts are remembered by reference, so no password or key is copied.
  • Rename a tab by double-clicking it, from its right-click menu, or with Rename tab in the command palette.

File manager

  • Open any file. Images open in a preview. PDFs, documents, media and archives open in the app your computer uses for them. Code and config files open in the editor.
  • Edit in your own app, upload with one click. A remote file you open in another app is watched; save it there and K-Shell offers to upload it back to the server.
  • Syntax highlighting for about 140 languages and config formats (Python, Go, Rust, JavaScript, PHP, SQL, YAML, JSON, Dockerfile, Nginx, .env and many more), with line numbers, find and replace, and code folding. Your file's indentation and line endings are kept as they are.
  • Files that would run or install when opened (.exe, .msi, .pkg, .dmg, .sh …) are never opened from the file manager. Download them if you need them.

Snippets

  • Variables. Write {{branch}} or {{branch:main}} in a snippet and K-Shell asks for the value each time it runs, including Run on hosts.

Look and feel

  • 25 terminal themes, 16 of them new: Tokyo Night, Catppuccin, Rosé Pine, Kanagawa, Everforest, GitHub Dark, Ayu, Night Owl, Synthwave and more, with seven light themes. Settings → Appearance lists them as Dark and Light.
  • A redesigned Workspaces page with project cards or a compact list.
  • Grid or list view in the Keychain.
  • Clearer menu labels in the sidebar, tab bar and menus.

Faster

  • K-Shell starts lighter: the terminal, file manager, editor and most pages now load the first time you use them, so start-up loads about a fifth of the code it used to.
  • Terminals in background tabs give back their graphics memory after 30 seconds, which helps when you keep many tabs open.

Fixed

  • Agent forwarding now works. Running ssh-add -l, git or ssh on the server used to hang or find no keys.

Known limitations

  • Tested mostly on macOS. The Windows and Linux builds pass the automated build and tests but have had little hands-on testing.
  • With Follow the working directory on, the one-line hook K-Shell types into new zsh sessions can stay in your zsh history unless HIST_IGNORE_SPACE is set. Turn the option off in Settings → Terminal if you prefer.
  • If an in-app update fails, download the new version from https://www.keselyoleren.com/download and install it over the old one.

Please report problems in Issues.

K-Shell 0.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 07:39

Hide the sidebar when you want more room for your terminals.

Already using K-Shell? Open K-Shell and click Update K-Shell in the top-right of the tab bar (or Settings → About → Check for updates). It downloads, verifies, installs and restarts. Your hosts, keys and settings are kept.

New install: pick your installer below, or open https://www.keselyoleren.com/download and the right file for your system downloads automatically.

System File
macOS (Apple Silicon and Intel) K-Shell_0.3.0_universal.dmg
Windows 10 / 11 (64-bit) K-Shell_0.3.0_x64-setup.exe (or the .msi)
Linux .AppImage (any distro), .deb (Debian/Ubuntu) or .rpm (Fedora/openSUSE)

First launch: the installers aren't code-signed yet.

  • macOS: open the app once, then go to System Settings → Privacy & Security and click Open Anyway.
  • Windows: in the SmartScreen dialog, click More info → Run anyway.

How everything works: https://www.keselyoleren.com/docs/

What's new

Show or hide the sidebar

  • Press ⌘B (Ctrl+Shift+B on Windows/Linux) to hide the menu on the left and press it again to bring it back. The shortcut can be changed in Settings → Keyboard shortcuts.
  • Or use the sidebar button next to the K-Shell logo (it appears when you point at the sidebar), the button at the start of the tab bar while the sidebar is hidden, or Settings → Appearance → Show sidebar.
  • K-Shell remembers your choice. On macOS the tab bar makes room for the window buttons while the sidebar is hidden.

Known limitations

  • Tested mostly on macOS. The Windows and Linux builds pass the automated build and tests but have had little hands-on testing.
  • If an in-app update fails, download the new version from https://www.keselyoleren.com/download and install it over the old one.

Please report problems in Issues.

K-Shell 0.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 06:33

Workspaces for your local projects, autosuggestions, your own shell prompt, custom keyboard shortcuts, drag-and-drop panes, and port forwarding straight from an ssh -L command.

Already using K-Shell 0.1.0? Open K-Shell and click Update K-Shell in the top-right of the tab bar (or Settings → About → Check for updates). It downloads, verifies, installs and restarts. Your hosts, keys and settings are kept.

New install: pick your installer below, or open https://www.keselyoleren.com/download and the right file for your system downloads automatically.

System File
macOS (Apple Silicon and Intel) K-Shell_0.2.0_universal.dmg
Windows 10 / 11 (64-bit) K-Shell_0.2.0_x64-setup.exe (or the .msi)
Linux .AppImage (any distro), .deb (Debian/Ubuntu) or .rpm (Fedora/openSUSE)

First launch: the installers aren't code-signed yet.

  • macOS: open the app once, then go to System Settings → Privacy & Security and click Open Anyway.
  • Windows: in the SmartScreen dialog, click More info → Run anyway.

How everything works: https://www.keselyoleren.com/docs/

What's new

Workspaces

Group the local project folders you work on, for example one workspace per client. Click a project to open a terminal in its folder, optionally running a startup command (e.g. git pull && npm run dev), or use Open all. Tabs take the workspace colour, and projects are searchable in the command palette.

Terminal

  • Autosuggestions: the rest of a command you ran before appears in grey as you type. → accepts it, ⌥→ / Ctrl+→ takes one word. Commands from the same host or project come first. History lives in the encrypted vault; passwords and other input that isn't echoed, and commands starting with a space, are never saved. Turn it off or clear it in Settings → Terminal.
  • K-Shell prompt (Settings → Terminal → Prompt, off by default): build a bash/zsh prompt from segments (user@host, directory, git branch, Python venv, conda env, kube context, time, date, exit code…) with drag and drop and a live preview. Long directories are shortened from the left, e.g. …project/chronicle/fork/core-api. Apply it to local and/or SSH sessions, or copy it for ~/.bashrc / ~/.zshrc.
  • Drag panes and tabs: drag a pane by its header to move it while the other panes make room; drop it on the tab bar to give it its own tab. Drag a terminal tab onto another terminal to merge it in as a split. Sessions keep running.

Port forwarding

Paste an ssh -L/-R/-D … user@host -p port command and K-Shell fills in the rule and picks the matching saved host (several tunnels become several rules). Unknown servers can be added in one click. Every rule shows its equivalent ssh command with a copy button, and a host's right-click menu has Port forwarding….

Settings

  • Settings are split into Appearance, Terminal, Keyboard shortcuts, Vault & backup and About.
  • Appearance: System theme that follows your OS, accent colour, interface zoom (⌘= ⌘- ⌘0), and an optional separate terminal theme for light mode.
  • Custom keyboard shortcuts: click a shortcut and press new keys; search by name or keys; conflicts are flagged. New actions: settings (⌘,), next/previous tab (⌃⇥), next/previous pane (⌘] ⌘[), close pane, clear terminal, and more.
  • The command palette (⌘K) also finds app commands and workspace projects, with their shortcuts.

Fixed

  • The Font list in Settings showed an empty value when the saved font wasn't one of the presets.

Known limitations

  • Tested mostly on macOS. The Windows and Linux builds pass the automated build and tests but have had little hands-on testing.
  • The K-Shell prompt works with bash and zsh only, and applies to new sessions. In zsh, its setup line can appear in your shell history unless HIST_IGNORE_SPACE is set.
  • Updating from 0.1.0 inside the app is the first real use of the updater; if it fails, download the new version from https://www.keselyoleren.com/download and install it over the old one.

Please report problems in Issues.

K-Shell 0.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 14:33

The first release of the K-Shell desktop app: SSH terminals, SFTP / FTP / object storage (S3-compatible, Azure Blob, Google Cloud Storage) and port forwarding in one app.

Download: pick your installer below, or open https://www.keselyoleren.com/download and the right file for your system downloads automatically.

System File
macOS (Apple Silicon and Intel) K-Shell_0.1.0_universal.dmg
Windows 10 / 11 (64-bit) K-Shell_0.1.0_x64-setup.exe (or the .msi)
Linux .AppImage (any distro), .deb (Debian/Ubuntu) or .rpm (Fedora/openSUSE)

First launch: the installers aren't code-signed yet.

  • macOS: open the app once, then go to System Settings → Privacy & Security and click Open Anyway.
  • Windows: in the SmartScreen dialog, click More info → Run anyway.

From this version on, K-Shell shows an Update K-Shell button when a new release is available.

What's included

First release of the desktop app. It replaces the previous FastAPI + web client.

Added

  • Encrypted local vault (XChaCha20-Poly1305, key in OS keychain) for hosts, keys, snippets, port-forward rules,
    known hosts and settings; Argon2id-protected backup export and restore.
  • SSH terminal with tabs, split panes, find, themes, startup commands and reconnect; local PTY terminal.
  • SSH auth via password, keyboard-interactive, keychain keys, ssh-agent/Pageant and default identities; ProxyJump.
  • Trust-on-first-use host key verification that honours ~/.ssh/known_hosts.
  • Dual-pane file manager over Local, SFTP, FTP, FTPS and S3-compatible storage, with a transfer queue, drag and drop,
    a text editor and pre-signed S3 links.
  • Local, remote and SOCKS5 port forwarding with auto-start.
  • SSH key generation (Ed25519, ECDSA, RSA-4096), import and install-on-host.
  • Snippets: paste into a terminal or run on several hosts.
  • ~/.ssh/config import, command palette with quick connect.
  • Azure Blob Storage hosts (account key or SAS token). Share links are read-only SAS URLs (sp=r).
  • Google Cloud Storage hosts using a service-account key (JSON), or anonymous access for public buckets.
  • S3 hosts can choose path-style or virtual-hosted URLs, needed for services such as Tencent COS.
  • More S3 presets: Tencent COS, Scaleway, Hetzner, Linode/Akamai and Oracle Cloud.
  • End-to-end tests for Azure (Azurite) and GCS (fake-gcs-server).
  • In-app updates: an Update K-Shell button appears in the tab bar when a new version is released; one click
    downloads, verifies (signature), installs and restarts. Settings → About shows the version and can check manually.

Fixed (found during pre-release testing)

  • macOS: ⌘W closed the whole window instead of the current tab. The app now uses its own menu
    without "Close Window".
  • Windows/Linux: Ctrl+Shift+1…9 did nothing, because Shift turns the key into a symbol.
    Digits are now matched by physical key.
  • macOS: dragging files in the File Manager selected all text on the page (missing -webkit-user-select).
  • The "Clear finished" button in the Transfers panel overlapped the panel title.
  • The File Manager tab was labelled "SFTP" even when both panes were local.
  • Shortcut lists in Settings and the README showed the wrong split-down shortcut on Windows/Linux.

Known limitations

  • Tested mostly on macOS. The Windows and Linux builds come from the same code but have had little hands-on testing.
  • Not tested yet: FTPS, Google Cloud Storage uploads over 8 MB, Google Cloud share links, and in-app updates on Windows and Linux.

Please report problems in Issues.

v.1.0.1

Choose a tag to compare

@keselyoleren keselyoleren released this 29 Nov 04:30

Release Notes - v.1.0.1

We are excited to announce a major update to the SSH Client, featuring a complete frontend rewrite, enhanced multitasking capabilities, and robust deployment options.

🚀 New Features

Split View Terminal

Multitask like a pro! You can now drag and drop terminal tabs to create dynamic split views.

  • Vertical & Horizontal Splits: Arrange your terminals exactly how you need them.
  • Drag & Drop: Intuitive interface for managing multiple connections.

Modern Frontend Architecture

The frontend has been completely rebuilt using Vue.js 3 and Vite.

  • Performance: Faster load times and smoother interactions.
  • Maintainability: Component-based architecture for easier future updates.

Docker Support

Deployment is now easier than ever.

  • One-Command Start: Run the entire stack (Frontend, Backend, Database) with docker-compose up --build.
  • Auto-Migrations: Database migrations are automatically applied on startup.
  • Production Ready: Nginx configured as a reverse proxy for the frontend and API.

User Data Isolation

  • Secure Ownership: SSH clients are now strictly associated with the logged-in user. No more shared client lists.
  • Enhanced Privacy: Your connections are private and secure.

UI/UX Enhancements

  • Collapsible Sidebar: Toggle the sidebar to maximize your terminal workspace.
  • Terminal Themes: Customize your experience with built-in themes (Hacker Blue, Ubuntu, Dracular, etc.).
  • OS Detection: One-click detection of the remote server's operating system.
  • New Favicon: A sleek, custom SVG icon for the application.

🛠 Improvements & Fixes

  • Authentication: Improved JWT handling for API requests and WebSocket connections.
  • Database: Fixed PostgreSQL version compatibility issues in Docker.
  • API: Standardized API responses and error handling.
  • Feedback: Added toast notifications for user actions (success/error messages).

📦 Upgrade Instructions

  1. Pull the latest changes:
    git pull origin main
  2. Run with Docker:
    docker-compose up --build
    Note: This will automatically handle database migrations.

v.1.0.0

Choose a tag to compare

@keselyoleren keselyoleren released this 23 Oct 08:43
7e1bf11

Release Notes v1.0.0 - SSH Client

We are excited to announce the first release of SSH Client, an application designed to simplify the
management of multiple SSH connections within a secure and customizable interface. This version
focuses on providing a robust foundation with a comprehensive authentication system and intuitive SSH
client management.

Release Highlights

  • Complete Authentication System: Secure user registration, login, and a full-featured multi-factor
    authentication (2FA) system.
  • SSH Client Management (CRUD): Easily create, view, update, and delete your SSH client configurations.
  • Custom Connection Templates: Save unique configurations, including credentials and private keys, for
    each SSH host.
  • Advanced Security Options: Support for trusted devices, account recovery, and automatic account
    locking.
  • Modern User Interface: A clean, responsive UI with an integrated web-based terminal.

New Features

Comprehensive Authentication System

Security is our top priority. This release includes a multi-layered authentication system to protect
your account:

  • User Registration & Login: A secure and straightforward process for signing up and logging in.
  • Two-Factor Authentication (2FA): Enhance your account's security by enabling 2FA with an authenticator
    app like Google Authenticator or Authy.
  • Backup Codes & Password Reset: Generate backup codes for account recovery and securely reset your
    password via an email link.
  • Trusted Devices: Mark a device as "trusted" to bypass 2FA verification on subsequent logins, offering
    a balance between security and convenience.

Full SSH Client Management (CRUD)

Manage all your SSH connections from one centralized dashboard:

  • Create & Save Hosts: Easily add new SSH hosts by defining a label, host, port, and credentials.
  • View & Manage: See all your saved hosts in an easy-to-navigate grid or list view.
  • Update & Delete: Edit or remove existing host configurations as your needs change.
  • Quick Duplicate: Instantly duplicate an existing host configuration to quickly set up a similar
    connection.

Customizable Connection Templates

Each SSH host can have its own unique configuration, acting as a custom connection template:

  • Flexible Authentication: Choose between password-based or private key authentication on a per-host
    basis.
  • Custom Terminal Settings: Customize the look and feel of each terminal session with different themes
    to enhance your visual workflow.

Advanced Security Options

  • Account Locking: Accounts are automatically and temporarily locked after multiple failed login
    attempts to prevent brute-force attacks.
  • Session Management: You can manage your active sessions and log out from all devices for enhanced
    security.

Modern and Responsive UI

  • Integrated Terminal: A full-featured, web-based terminal powered by Xterm.js runs directly in your
    browser.
  • Intuitive Design: A clean and modern interface designed for an efficient and user-friendly workflow.
  • Customizable Settings: Personalize your experience by switching between light and dark modes and
    adjusting terminal settings to your liking.

Full Changelog: https://github.com/keselyoleren/ssh_client/commits/v.1.0.0