β‘ 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