- 🚀 High Performance: Built with Rust and Tauri for minimal resource usage and native performance
- 🎨 Modern UI: Beautiful, frameless design with glassmorphism effects and smooth animations
- 💻 Full-featured Terminal: Powered by xterm.js with custom themes, fonts, and local terminal support
- 🔐 Secure by Design: Local encrypted storage with master password protection and auto-lock
- 🔒 Master Password: Set a master password to protect your sensitive connection data
- ⏱️ Auto-lock: Configurable idle timeout (5/10/15 minutes) or disable completely
- 🔐 Database Encryption: AES-256 encryption for SQLite database with Argon2 password hashing
- 🛡️ Session Persistence: Securely restore all sessions after restart
- 🔄 Auto-reconnect: Automatic reconnection after network interruptions
- 📂 SFTP Integration: Built-in file browser with drag-and-drop upload/download support
- 📝 Remote File Editor: Edit remote files directly with syntax highlighting (powered by Monaco Editor)
- 🗂️ File Icons: Beautiful file-type icons for better visual organization
- 🪟 Split Panes: Split your terminal horizontally or vertically for multitasking
- 📊 System Dashboard: Real-time server monitoring (CPU, RAM, Disk, Network, Processes)
- 📋 Snippet Manager: Save and execute frequently used commands with one click
- 🤖 AI Assistant: Integrated AI helper for command generation and troubleshooting with context-aware suggestions
- 🔗 Port Forwarding: Local and remote port forwarding support
- 🌉 Jump Host: Connect through bastion/jump hosts
- 🌐 Internationalization: Full support for English and Chinese (Simplified)
- 🎨 Custom Themes: Choose from Dracula, Nord, Solarized, GitHub Dark/Light, and more
- 📝 Command History: Track and search command history across sessions
- 🎯 Context Menu: Right-click context menu with split, AI, and copy/paste actions
- ✨ Enhanced UI Components: Optimized Select dropdowns with size variants and better styling
Modern, clean interface with split panes
Modern, clean interface with split panes
Modern, clean interface with split panes
Modern, clean interface with split panes
Modern, clean interface with split panes
- Frontend: React 18, TypeScript, Tailwind CSS, Lucide React
- Backend: Rust, Tauri 2.x
- Terminal: xterm.js + FitAddon
- Editor: Monaco Editor (VS Code's editor)
- Database: SQLite with rusqlite
- SSH: ssh2 (Rust)
- State Management: React Context + Custom Hooks
Download the latest release for your platform from the Releases page.
- Node.js (v18+)
- Rust (latest stable)
- Tauri CLI
-
Clone the repository
git clone https://github.com/G2CH/NebulaSSH.git cd NebulaSSH -
Install dependencies
npm install
-
Run in development mode
npm run tauri dev
-
Build for production
npm run tauri build
- Click the "New Connection" button in the sidebar
- Enter your server details (host, port, username, password/key)
- Click "Connect" to establish the SSH session
- Right-click on the terminal and select "Split Vertical" or "Split Horizontal"
- Each pane maintains its own independent SSH session
- Close panes using the X button in the top-right corner (appears when multiple panes exist)
- Click the "Files" tab in the terminal view
- Browse remote files, create folders, upload/download files
- Double-click files to edit them in the built-in editor
- Select text in the terminal
- Right-click and choose "Ask AI", "Explain", or "Fix"
- The AI modal will open with context-aware suggestions
Configure your AI provider in Settings:
- Click the settings icon in the sidebar
- Navigate to AI Settings
- Enter your API key and endpoint
- Supported providers: OpenAI, Azure OpenAI, or any OpenAI-compatible API
Protect your sensitive connection data with these security features:
- On first launch, you'll be prompted to set a master password
- This password is used to encrypt your database and unlock the application
- Use a strong, memorable password - it cannot be recovered if forgotten
- Open Settings → Security
- Toggle auto-lock on/off
- When enabled, choose from:
- 5 minutes: Lock after 5 minutes of inactivity
- 10 minutes: Lock after 10 minutes of inactivity (default)
- 15 minutes: Lock after 15 minutes of inactivity
- When disabled, the app will never auto-lock (master password still required on startup)
- All connection data is encrypted using AES-256
- Passwords are hashed with Argon2 for maximum security
- Encryption key is derived from your master password
Choose from built-in themes or customize your own:
- Default Dark
- Dracula
- Nord
- Solarized Dark/Light
- GitHub Dark/Light
- One Dark
This is a common issue on macOS when installing applications from unidentified developers:
- Open Terminal
- Run the following command:
(Replace
sudo xattr -r -d com.apple.quarantine /Applications/NebulaSSH.app
/Applications/NebulaSSH.appwith the actual path to the app)
On some Linux distributions, you may need to install additional dependencies:
# Debian/Ubuntu
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev
# Fedora
sudo dnf install webkit2gtk4.1-devel gtk3-devel libappindicator-gtk3-devel
# Arch
sudo pacman -S webkit2gtk-4.1 gtk3 libappindicator-gtk3Product Positioning: NebulaSSH is a professional standalone offline SSH client designed for enterprise intranet environments, focusing on performance, security, and efficiency.
Core Focus: Critical user experience and security improvements
- Session Persistence - Restore all sessions after restart
- Auto-reconnect - Automatic reconnection after disconnection
- Master Password - Unlock app with master password at startup
- Auto-lock - Configurable idle timeout (5/10/15 minutes, or disabled)
- Local Data Encryption - Encrypt SQLite database for sensitive data
- AI Markdown Rendering - Fixed AI response rendering with github-markdown-css
- Optimized Select Component - Enhanced dropdown UI with size variants
- Context Menu Enhancements - ANSI code stripping for clean AI context
Core Focus: Bulk server management for DevOps teams
- Config Backup/Restore - Export/import configuration as encrypted JSON
- SSH Agent Forwarding - Forward SSH agent to jump hosts
- URL Click Support - Cmd/Ctrl+Click to open URLs in browser
- Broadcast Input - Send commands to multiple servers simultaneously
- Batch Script Execution - Execute scripts on multiple machines at once
- Result Aggregation - Collect and compare output from multiple servers
- Server Grouping - Enhanced tree-structure organization
- Color Tagging - Visual organization with colors
Core Focus: Polish details and improve daily workflow
- Custom Keyboard Shortcuts - Fully configurable shortcuts
- Workspace - Save and restore window layouts and session sets
- Tab Management - Drag-and-drop, grouping, color marking
- Global Search - Quick search across servers and command history
- Preset Shortcuts - VS Code, Vim-style shortcut schemes
Core Focus: AI-native features for competitive differentiation
- AI Command Completion - Real-time suggestions while typing
- Natural Language to Command - "Find largest files" → auto-execute
- Smart Error Recovery - Auto-suggest fixes for failed commands
- Local AI Model Support - Ollama integration for offline usage
- AI Workflow Generator - Record complex operations as scripts
Core Focus: Stability, performance, and ecosystem
- Performance Optimization - Faster startup, lower memory usage
- Stability - Comprehensive error handling and crash recovery
- Documentation - Complete user manual and tutorials
- Plugin System - Allow community themes and extensions
- Audit Logging - Enterprise-grade operation logging
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri - Framework for building desktop applications
- xterm.js - Terminal emulator for the web
- ssh2 - Rust SSH implementation
- Lucide - Beautiful icon library
Made with ❤️ by G2CH
⭐ Star us on GitHub if you find this project useful!
