A TUI client for Warpgate — a smart SSH/HTTP bastion host. Browse, search, and filter your SSH targets, then connect with a single keypress.
- Browse all SSH targets from your Warpgate instance in a searchable, filterable table
- Fuzzy search
- Filter targets by group, with color-coded group labels
- Automatic self-update from GitHub releases
- Tiny, fully static binary built with musl libc (no glibc dependency, should run on any Linux)
curl -fsSL https://raw.githubusercontent.com/Stax124/warpgate-connect/refs/heads/main/install.sh | shgit clone https://github.com/Stax124/warpgate-connect
cd warpgate-connect
# Add the musl target if you haven't already
rustup target add x86_64-unknown-linux-musl # or aarch64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl
# Binary will be at target/x86_64-unknown-linux-musl/release/warpgate-connectNote: musl builds produce a fully static binary with no glibc dependency. Make sure
musl(or the appropriate musl cross toolchain for your arch) is installed on your system.
Windows is not supported. To get started with Linux and live a happy life:
- Download CachyOS (or any other Linux distro)
- Flash it to a USB drive with Rufus
- Boot from the USB and install Linux
- Continue from the Linux / macOS install section above
On first launch, warpgate-connect will open the settings screen. Configuration is stored at:
- Linux:
~/.config/warpgate-connect/config.toml - macOS:
~/Library/Application Support/com.warpgate-connect.warpgate-connect/config.toml
config.toml example:
warpgate_api_url = "https://warpgate.example.com/@warpgate/api/targets"
warpgate_username = "admin"
warpgate_token = "your-api-token"
warpgate_port = 2222| Field | Description |
|---|---|
warpgate_api_url |
Full URL to your Warpgate targets API endpoint |
warpgate_username |
Your Warpgate username |
warpgate_token |
Warpgate API token (from your account settings) |
warpgate_port |
SSH port of the Warpgate gateway (default: 2222) |
If any required field is missing, the app will open on the settings screen automatically.
warpgate-connect [OPTIONS]
Options:
--skip-update Skip the GitHub update check on startup
-h, --help Print help
-V, --version Print version- Launch
warpgate-connect - The app fetches SSH targets from your Warpgate instance
- Use the search bar to filter targets by name, or
Shift+Gto filter by group - Press
Enteron a target to connect — the TUI exits andsshis spawned automatically
| Key | Action |
|---|---|
Ctrl+C / Shift+Q |
Quit |
Shift+N |
Cycle screens (Main → Settings → Logs) |
Shift+R |
Refresh targets from API |
Shift+U |
Self-update (when update banner is shown) |
↑ / ↓ |
Navigate target list |
Home / End |
Jump to first / last target |
Enter |
Connect to selected target |
Shift+G |
Cycle group filter |
| Any printable key | Append to search query |
Backspace |
Delete last search character |
Ctrl+A |
Select all text (search / settings fields) |
Tab / Shift+Tab |
Navigate between settings fields |
