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.
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!
- π 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
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/paramientos/leap/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/paramientos/leap/main/install.ps1 | iexDownload 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 --versionWindows:
# Download from releases page
# Extract the ZIP file
# Move leap.exe to a directory in your PATH
# Or add the directory to your PATHPrerequisites:
- 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 releaseUsing Go directly:
git clone https://github.com/paramientos/leap.git
cd leap
go build -o leap ./cmd/leap
sudo mv leap /usr/local/bin/go install github.com/paramientos/leap/cmd/leap@latestNote: This installs to $GOPATH/bin (usually ~/go/bin). Make sure it's in your PATH.
leap --versionYou should see:
β‘ LEAP SSH Manager v0.6.0
Simply run leap to launch the interactive terminal UI:
leapleap add myserverYou'll be prompted for:
- π Hostname/IP
- π€ User
- π Port
- π Password (optional)
- π SSH Key Path (optional)
- π·οΈ Tags
- π Jump Host (optional)
leap listFilter by tag:
leap list --tag productionleap connect myserverOr use fuzzy matching:
leap myserverleap edit myserverleap delete oldserver
leap delete server1 server2 server3 # Multiple
leap delete myserver --force # Skip confirmationleap test myserver # Test single connection
leap test --all # Test all connections
leap test --tag production # Test by tagleap favorite myserver # Toggle favorite
leap favorites # List all favoritesleap notes myserver # View notes
leap notes myserver --edit # Edit notesleap exec myserver "uptime"
leap exec --all "df -h"
leap exec --tag web "systemctl status nginx"# 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/ ./ --recursiveCapture 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.yamlShare 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]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_153045Transfer 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 hostsCheck 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 server2Automate passwordless login by generating and pushing LEAP-specific keys.
# Generates a key if missing and pushes it to the server
leap push-key myserverMigrate your existing connections from your system's SSH configuration.
leap import-sshBackup 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 existingleap tunnel myserver 8080:localhost:80The 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
β‘ 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
LEAP stores your connections in a configuration file at:
- macOS/Linux/Windows:
~/.leap/connections.yaml
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.
leap productionleap web# Forward local port 3306 to remote MySQL
leap tunnel database 3306:localhost:3306When adding a connection, specify a jump host:
π Jump Host: bastion.example.com
β/βorj/k- Navigate through connections/- Start filtering/searchingEnter- Connect to selected serverqorCtrl+C- Quit
- Go 1.24 or higher
- Make (optional, but recommended)
# 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/leapmake test
# or
go test ./...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 archivesContributions 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Laravel's beautiful CLI design
- Built with Bubble Tea for the TUI
- Uses Cobra for CLI framework
- Encryption powered by age
Project Link: https://github.com/paramientos/leap
Made with β€οΈ and β by the LEAP team