⚡ LEAP SSH Manager
The Ultimate SSH Connection Manager - A modern, feature-rich CLI tool that goes beyond simple SSH management. Monitor servers in real-time, capture snapshots, share connections via QR codes, record sessions, and manage everything from a beautiful terminal UI.
Built with Go for maximum performance. Inspired by Laravel’s elegant design philosophy.
🎯 Why LEAP?
LEAP isn’t just another SSH manager - it’s a complete DevOps command center:
- 📸 Snapshot & Compare servers to track changes over time
- 📱 QR Code Sharing for instant connection distribution
- ⏺️ Session Recording for documentation and auditing
- 📊 Live Monitoring of server resources in beautiful TUIs
- 🔑 Automated Key Management with one-command setup
All in a single binary with…
⚡ LEAP SSH Manager
The Ultimate SSH Connection Manager - A modern, feature-rich CLI tool that goes beyond simple SSH management. Monitor servers in real-time, capture snapshots, share connections via QR codes, record sessions, and manage everything from a beautiful terminal UI.
Built with Go for maximum performance. Inspired by Laravel’s elegant design philosophy.
🎯 Why LEAP?
LEAP isn’t just another SSH manager - it’s a complete DevOps command center:
- 📸 Snapshot & Compare servers to track changes over time
- 📱 QR Code Sharing for instant connection distribution
- ⏺️ Session Recording for documentation and auditing
- 📊 Live Monitoring of server resources in beautiful TUIs
- 🔑 Automated Key Management with one-command setup
All in a single binary with zero dependencies!
✨ Features
- 🔐 Secure encrypted configuration - Your main config is safely encrypted
- 📸 Server Snapshots - Capture complete server state (OS, packages, services, ports)
- 📱 QR Share - Share connections via QR Codes ⚡
- ⏺️ Session Recording - Record and replay SSH sessions ⏺️
- 📊 Real-time Monitoring - Watch server Load, RAM and Uptime in a live TUI
- 🔑 Self-Managed SSH Keys - Generate and push Leap-specific SSH keys automatically
- 🏷️ Tag-based & Group organization - Organize connections with tags and folders
- 🔍 Fuzzy search & filtering - Find connections quickly
- 🎨 Beautiful terminal UI - Modern, colorful interface inspired by Laravel
- 🔀 Jump host support - Connect through bastion hosts
- 🚇 SSH tunnel management - Create and manage SSH tunnels easily
- 📂 Smart SCP - Transfer files using saved connection parameters
- 🧪 Health checks - Test connections and measure latency with visual bars
- 📤 Plain-text Export/Import - Easily backup and share configurations
- 📁 SSH Config Import - Migrate from
~/.ssh/configin one command
📦 Installation
Quick Install (Recommended)
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/paramientos/leap/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/paramientos/leap/main/install.ps1 | iex
Download Pre-built Binaries
Download the latest release for your platform from GitHub Releases:
Available Platforms:
- 🐧 Linux (AMD64, ARM64)
- 🍎 macOS (Intel, Apple Silicon)
- 🪟 Windows (AMD64, ARM64)
Manual Installation:
Linux / macOS:
# Download (replace VERSION and PLATFORM)
wget https://github.com/paramientos/leap/releases/latest/download/leap-VERSION-PLATFORM.tar.gz
# Extract
tar -xzf leap-VERSION-PLATFORM.tar.gz
# Install
sudo mv leap-PLATFORM /usr/local/bin/leap
chmod +x /usr/local/bin/leap
# Verify
leap --version
Windows:
# Download from releases page
# Extract the ZIP file
# Move leap.exe to a directory in your PATH
# Or add the directory to your PATH
Build from Source
Prerequisites:
- Go 1.24 or higher
- Make (optional, but recommended)
Using Makefile:
git clone https://github.com/paramientos/leap.git
cd leap
# Build for current platform
make build
# Install to /usr/local/bin
make install
# Build for all platforms
make build-all
# Create release archives
make release
Using Go directly:
git clone https://github.com/paramientos/leap.git
cd leap
go build -o leap ./cmd/leap
sudo mv leap /usr/local/bin/
Using Go Install
go install github.com/paramientos/leap/cmd/leap@latest
Note: This installs to $GOPATH/bin (usually ~/go/bin). Make sure it’s in your PATH.
Verify Installation
leap --version
You should see:
⚡ LEAP SSH Manager v0.6.0
🚀 Quick Start
Interactive TUI Mode
Simply run leap to launch the interactive terminal UI:
leap
Add a New Connection
leap add myserver
You’ll be prompted for:
- 🌐 Hostname/IP
- 👤 User
- 🔌 Port
- 🔐 Password (optional)
- 🔑 SSH Key Path (optional)
- 🏷️ Tags
- 🔀 Jump Host (optional)
List All Connections
leap list
Filter by tag:
leap list --tag production
Connect to a Server
leap connect myserver
Or use fuzzy matching:
leap myserver
Edit a Connection
leap edit myserver
Delete Connection(s)
leap delete oldserver
leap delete server1 server2 server3 # Multiple
leap delete myserver --force # Skip confirmation
Test Connections
leap test myserver # Test single connection
leap test --all # Test all connections
leap test --tag production # Test by tag
Manage Favorites
leap favorite myserver # Toggle favorite
leap favorites # List all favorites
Add Notes
leap notes myserver # View notes
leap notes myserver --edit # Edit notes
Remote Command Execution
leap exec myserver "uptime"
leap exec --all "df -h"
leap exec --tag web "systemctl status nginx"
File Transfer
# Upload
leap upload myserver ./local.txt /remote/path/
leap upload myserver ./folder/ /remote/ --recursive
# Download
leap download myserver /remote/file.txt ./local/
leap download myserver /remote/folder/ ./ --recursive
Export/Import
Server Snapshots
Capture and compare complete server states for change tracking and auditing.
# Capture a snapshot
leap snapshot myserver -o snapshot.json
# Capture with installed packages (slower)
leap snapshot myserver -o snapshot.json --packages
# Compare two snapshots
leap diff snapshot1.json snapshot2.json
# YAML format
leap snapshot myserver -f yaml -o snapshot.yaml
Share Connections
Share connection details via QR code or encrypted short-codes.
# Generate QR code and share code
leap share myserver
# Receiver imports with:
leap import-code [base64-code]
Session Recording
Record and replay SSH sessions for documentation or auditing.
# Record a session
leap connect myserver --record
# List recordings
leap history
# Replay a session
leap replay myserver_20231227_153045
File Transfer
Transfer files using your saved connection settings.
# Upload file
leap scp myserver ./local-file.txt /remote/path/
# The command automatically uses your saved port, keys, and jump hosts
Health & Monitoring
Check if your servers are alive or watch their resources in real-time.
# Health check (with visual latency bars)
leap test --all
# Live Resource Monitor (CPU, RAM, Uptime)
leap monitor
leap monitor server1 server2
SSH Key Wizard
Automate passwordless login by generating and pushing LEAP-specific keys.
# Generates a key if missing and pushes it to the server
leap push-key myserver
Import from SSH Config
Migrate your existing connections from your system’s SSH configuration.
leap import-ssh
Export/Import
Backup or share your connections in JSON or YAML format. Note that items are exported in plain-text for easy sharing and manual editing.
# Export (Decrypted output)
leap export backup.json
leap export backup.yaml --format yaml
# Import (Reads plain-text)
leap import backup.json
leap import backup.yaml --merge # Update existing
Create SSH Tunnel
leap tunnel myserver 8080:localhost:80
🎨 Screenshots
Main TUI Interface
The interactive terminal UI provides a beautiful, modern interface for managing your SSH connections:
- Left Panel: List of all your connections with fuzzy search
- Right Panel: Detailed information about the selected connection
- Color-coded: Easy to read with Laravel-inspired color scheme
List Command
⚡ LEAP SSH MANAGER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NAME CONNECTION TAGS
──── ────────── ────
production user@prod.example.com:22 #prod #web
staging user@staging.example.com:22 #staging #web
database admin@db.example.com:22 #prod #database
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Total connections: 3
🔧 Configuration
LEAP stores your connections in a configuration file at:
- macOS/Linux/Windows:
~/.leap/connections.yaml
Encryption (Optional)
By default, LEAP stores your connections in plain-text YAML. If you want to encrypt your configuration file, set a master password using the LEAP_MASTER_PASSWORD environment variable:
export LEAP_MASTER_PASSWORD="your-secure-password"
If set, your configuration will be automatically encrypted using the age format.
📖 Usage Examples
Quick Connect by Name
leap production
Quick Connect by Tag
leap web
Port Forwarding
# Forward local port 3306 to remote MySQL
leap tunnel database 3306:localhost:3306
Using Jump Hosts
When adding a connection, specify a jump host:
🔀 Jump Host: bastion.example.com
🎯 Keyboard Shortcuts (TUI Mode)
↑/↓orj/k- Navigate through connections/- Start filtering/searchingEnter- Connect to selected serverqorCtrl+C- Quit
🛠️ Development
Prerequisites
- Go 1.24 or higher
- Make (optional, but recommended)
Building
# Using Makefile
make build # Build for current platform
make build-all # Build for all platforms
make install # Install to /usr/local/bin
# Or using Go directly
go build -o leap ./cmd/leap
Running Tests
make test
# or
go test ./...
Available Make Commands
make help # Show all available commands
make build # Build for current platform
make build-all # Build for all platforms
make install # Build and install
make clean # Clean build artifacts
make test # Run tests
make deps # Update dependencies
make release # Create release archives
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by Laravel’s beautiful CLI design
- Built with Bubble Tea for the TUI
- Uses Cobra for CLI framework
- Encryption powered by age
📧 Contact
Project Link: https://github.com/paramientos/leap
Made with ❤️ and ☕ by the LEAP team