A powerful, feature-rich terminal emulator with advanced SSH management, multi-device sync, and enterprise-grade encryption built with Tauri + Vue 3.
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.
- 📝 Description
- 🚀 Table Of Content
- 📸 Screenshots
- ✨ Features
- Installation Guide
- 🚀 Development
- 🔒 Security Considerations
- 🤝 Contributing
- ❗ Known Issues
- 📝 License
- 👤 Author
- 🙏 Acknowledgments
- 📮 Support
- 🗺️ Roadmap
- 👥 Contributors
basic.webm
- Multiple tabs and split panes, native shell integration (bash, zsh, fish, PowerShell, etc.)
- WebGL-accelerated rendering with Unicode 11 support
- Search, clickable links, clipboard integration
- Profile organization with groups, colors, and descriptions
- Authentication: password and keys (certificate, Kerberos, PKCS11, agent coming soon)
- SSH key manager with import/export, connection testing, proxy support (HTTP, SOCKS4/5)
- Jump Host Chain: Connect through multiple bastion hosts with automatic authentication
- Port forwarding (Local/Remote/Dynamic) with auto-start and status monitoring
- Command library with groups, usage tracking, favorites, and variable substitution
- Record sessions in
asciicastformat with playback controls and export capabilities
- Sync via MySQL/PostgreSQL/MongoDB with AES-256-GCM encryption
- Conflict resolution strategies, device management, auto-sync
- Master password protection, device-specific keys, keychain integration, auto-lock sessions
- Modern dark theme, keyboard shortcuts, customizable colors, real-time status indicators
- 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- Download the latest release from the Releases page
- Follow the installation instructions for your operating system
- Node.js (v20 or higher)
- Rust (latest stable)
- Tauri CLI:
cargo install tauri-cli
- Clone the repository
git clone https://github.com/klpod221/kerminal.git
cd kerminal- Install dependencies
npm install- Run in development mode
npm run tauri dev- Build for production
npm run tauri buildThe application will be available in src-tauri/target/release/bundle/.
- Frontend: Vue 3 with Composition API, Pinia stores, TypeScript
- Backend: Rust with Tauri v2, async/await with Tokio
- Terminal: xterm.js with WebGL renderer and addons
- Recording: asciicast v2 format with asciinema-player for playback
- SSH: russh library for SSH protocol implementation
- Database: SQLx for SQL databases, MongoDB driver for NoSQL
- Encryption: AES-GCM with Argon2 key derivation
| 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 |
- 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
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 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.appafter first launch. - Android version is currently not working (some how it works on my device (Xiaomi Redmi Note 12) but not on other devices).
This project is licensed under the MIT License - see the LICENSE file for details.
Bùi Thanh Xuân (klpod221)
- Website: klpod221.com
- GitHub: @klpod221
- Email: [email protected]
- 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
If you encounter any issues or have questions:
- Check existing Issues
- Create a new issue with detailed information
- Contact via email: [email protected]
- Multiple tabs and split panes terminal
- WebGL-accelerated rendering with Unicode support
- AES-256-GCM encryption with master password
- SSH profile management with groups and colors
- SSH key manager with import/export
- Proxy support (HTTP, SOCKS4/5)
- Port forwarding (Local/Remote/Dynamic SOCKS)
- Multi-device sync (MySQL/PostgreSQL/MongoDB)
- Custom terminal themes and color schemes
- Custom terminal font settings
- Saved commands with syntax highlighting
- Session recording and playback (asciicast format)
- SFTP file transfer integration
- Auto-lock sessions and keychain integration
- Jump host chain support for SSH connections
- Support Sixel graphics protocol for inline images
- First user tour
- AI Agent for auto-completion, suggestion, chat and automation
- Pin Drawer as sidebar
- More SSH Authentication Methods (Agent, PKCS11, Kerberos)
- Plugin system for extensions
- Cloud backup integration
- Homebrew install for macOS
- Web-based version
- Mobile app companion
Thanks to all the amazing people who have contributed to this project! 🎉
|
Bùi Thanh Xuân |
Thuan Vo |
Made with ❤️ by klpod221
⭐ Star this repository if you find it helpful!