Skip to content
Projects

klpod221/kerminal has 469 GitHub stars and 46 forks. GitHot measured +2 in 7 days and +3 in 15 days. Last checked 2026-11-10 21:29 UTC. Last push 2026-11-05.

How these counts are measured

// Modern Terminal Emulator & SSH Manager

Measured star growth

in 24h
Update delayed
in 7 days
+2
in 15 days
+3
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Kerminal: Modern Terminal Emulator & SSH Manager

A powerful, feature-rich terminal emulator with advanced SSH management, multi-device sync, and enterprise-grade encryption built with Tauri + Vue 3.

Last Commit GitHub Stars Repo Size License
GitHub Sponsors Buy Me a Coffee

📝 Description

Kerminal is a modern, high-performance terminal emulator that combines the power of a full-featured local terminal with advanced SSH connection management. Built with security-first architecture using Tauri (Rust) for native performance and Vue 3 for a responsive UI, Kerminal offers everything from basic terminal operations to complex SSH workflows with encrypted profile management, tunneling, and multi-device synchronization—all in a beautiful native desktop application.

Perfect for developers, DevOps engineers, system administrators, and anyone who lives in the terminal and values security, organization, and productivity.

🚀 Table Of Content

📸 Screenshots

Dashboard

Dashboard

Main Interface

Kerminal Main Interface

Demo

Kerminal Basic Demo

✨ Features

💻 Terminal Emulator

  • Multiple tabs and split panes
  • Native shell integration (bash, zsh, fish, PowerShell, etc.)
  • Hardware-accelerated Canvas 2D rendering with Unicode 11 support
  • Sixel graphics protocol support for inline images
  • Search, clickable links, and clipboard integration
  • Built-in Command Palette

📡 SSH Management & Tunneling

  • Profile organization with groups, colors, and descriptions
  • Authentication via password and SSH keys
  • Built-in SSH key manager (import, export, connection testing)
  • Proxy support (HTTP, SOCKS4/5)
  • Jump Host Chain for connecting through multiple bastion hosts
  • Port forwarding (Local, Remote, Dynamic SOCKS)
  • Automatic parsing of ~/.ssh/config

💾 Session & File Management

  • Record and playback sessions in asciicast format
  • Saved commands library with groups and syntax highlighting
  • SFTP file transfer integration

🔄 Security & Synchronization

  • Multi-device sync via MySQL/PostgreSQL/MongoDB
  • AES-256-GCM encryption with master password
  • Device-specific keys and OS keychain integration
  • Configurable session auto-lock

🎨 User Interface

  • Customizable terminal themes, color schemes, and fonts
  • Native dark theme and keyboard shortcuts
  • Dashboard interface and first-time user tour

📦 Installation Guide

Flatpak (Linux)

You can download the .flatpak file from the Releases page and install it using:

flatpak install /path/to/kerminal_*.flatpak

Arch Linux (install from AUR)

  • Using an AUR helper (e.g., yay):
yay -S kerminal # or kerminal-bin
  • Manually:
git clone https://aur.archlinux.org/kerminal.git # or kerminal-bin.git
cd kerminal
makepkg -si

Other Platforms (Windows, macOS, Linux)

  1. Download the latest release from the Releases page
  2. Follow the installation instructions for your operating system

🚀 Development

Prerequisites

  • Node.js (v20 or higher)
  • Rust (latest stable)
  • Tauri CLI: cargo install tauri-cli

Installation

  1. Clone the repository
git clone https://github.com/klpod221/kerminal.git
cd kerminal
  1. Install dependencies
npm install
  1. Run in development mode
# Option A: Tauri v2 + Vue 3 (Default)
npm run tauri dev

# Option B: Native Pure-Rust GUI (Iced)
npm run gui:dev
  1. Build for production
npm run tauri build

The application will be available in target/release/bundle/.

Project Structure

Kerminal is organized into a clean src/ modular workspace:

  • src/core: Core business domain (PTY, SSH/russh, SFTP, multi-engine Database, Encryption, Sync, History, Recording) without any framework dependencies.
  • src/tauri: Tauri v2 desktop & mobile adapter with direct binary streaming IPC and lifecycle management.
  • src/vue: Vue 3 frontend (Composition API, Pinia, TailwindCSS, xterm.js with Canvas 2D renderer).

Key Technologies

Layer Technology Purpose
Frontend Vue 3 + TypeScript Reactive UI framework
State Pinia Centralized state management
Backend Rust + Tauri v2 Native performance and security
SSH russh SSH protocol implementation
Terminal xterm.js Terminal emulation
Recording asciinema-player Session playback
Database SQLite, MySQL, PostgreSQL, MongoDB Local and sync storage
Encryption AES-256-GCM + Argon2 Data encryption and key derivation

🔒 Security Considerations

  • All sensitive data encrypted at rest with AES-256-GCM
  • Master password never stored, only verification hash
  • Device-specific encryption keys prevent data access from other devices
  • SSH private keys never leave the device unencrypted
  • Sync data encrypted before transmission
  • Automatic session locking after inactivity
  • Platform keychain integration for secure auto-unlock

🤝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

❗ Known Issues

  • Limited support for some SSH authentication methods
  • MacOS version is not signed/notarized yet due to Apple Developer Program restrictions (it takes 99 USD/year!) So please build from source if you want to use on MacOS or run unsigned app with xattr -rd com.apple.quarantine /path/to/Kerminal.app after first launch.

📝 License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

👤 Author

Bùi Thanh Xuân (klpod221)

🙏 Acknowledgments

  • Tauri - For the amazing Rust-based desktop framework
  • Vue 3 - For the reactive and performant frontend framework
  • xterm.js - For the excellent terminal emulator
  • asciinema-player - For the powerful terminal session player
  • russh - For the robust SSH implementation in Rust
  • Lucide - For the beautiful icon set

📮 Support

If you encounter any issues or have questions:

  1. Check existing Issues
  2. Create a new issue with detailed information
  3. Contact via email: [email protected]

👥 Contributors

Thanks to all the amazing people who have contributed to this project! 🎉

klpod221
Bùi Thanh Xuân
vthuan1889
Thuan Vo
vetash
Vitaly Barakov

⭐ Star History


Made with ❤️ by klpod221

⭐ Star this repository if you find it helpful!

Explore related projects