diff --git a/README.md b/README.md index 8f45bc1..0027f9d 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,12 @@ Lazyssh is a terminal-based, interactive SSH manager inspired by tools like lazydocker and k9s β€” but built for managing your fleet of servers directly from your terminal.
With lazyssh, you can quickly navigate, connect, manage, and transfer files between your local machine and any server defined in your ~/.ssh/config. No more remembering IP addresses or running long scp commands β€” just a clean, keyboard-driven UI. -## πŸŽ₯ Demo - +--- ## ✨ Features -### Server Management (current) +### Server Management - πŸ“œ Read & display servers from your `~/.ssh/config` in a scrollable list. - βž• Add a new server from the UI by specifying alias, host/IP, username, port, identity file. - ✏ Edit existing server entries directly from the UI. @@ -32,10 +31,51 @@ With lazyssh, you can quickly navigate, connect, manage, and transfer files betw - πŸ“ Copy files between local and servers with an easy picker UI. - πŸ“‘ Port forwarding (local↔remote) from the UI. - πŸ”‘ Enhanced Key Management: - - Use default local public key (~/.ssh/id_ed25519.pub or ~/.ssh/id_rsa.pub) - - Paste custom public keys manually - - Generate new keypairs and deploy them - - Automatically append keys to ~/.ssh/authorized_keys with correct permissions + - Use default local public key (~/.ssh/id_ed25519.pub or ~/.ssh/id_rsa.pub) + - Paste custom public keys manually + - Generate new keypairs and deploy them + - Automatically append keys to ~/.ssh/authorized_keys with correct permissions +--- + +## πŸ“· Screenshots + +
+ +### πŸš€ Startup +App starting splash/loader + +Clean loading screen when launching the app + +--- + +### πŸ“‹ Server Management Dashboard +Server list view + +Main dashboard displaying all configured servers with status indicators, pinned favorites at the top, and easy navigation + +--- + +### πŸ”Ž Search +Fuzzy search servers + +Fuzzy search functionality to quickly find servers by name, IP address, or tags + +--- + +### βž• Add Server +Add a new server + +User-friendly form interface for adding new SSH connections. + +--- + +### πŸ” Connect to server +SSH connection details + +SSH into the selected server + +
+ --- ## πŸ“¦ Installation @@ -76,21 +116,6 @@ make run --- -## βš™οΈ Configuration - -lazyssh reads your SSH hosts from `~/.ssh/config`. Example entry: - -```Host my-server - HostName 203.0.113.10 - User ubuntu - Port 22 - IdentityFile ~/.ssh/id_ed25519 -``` - -You can add/edit/delete entries from within the UI as well; lazyssh will keep things consistent. - ---- - ## ⌨️ Key Bindings | Key | Action | @@ -114,14 +139,24 @@ Tip: The hint bar at the top of the list shows the most useful shortcuts. --- -## πŸš€ Quickstart +## 🀝 Contributing -- Ensure your `~/.ssh/config` contains at least one Host. -- Run the app: `./lazyssh` -- Use `/` to search, `Enter` to connect. +Contributions are welcome! + +- If you spot a bug or have a feature request, please [open an issue](https://github.com/adembc/lazyssh/issues). +- If you'd like to contribute, fork the repo and submit a pull request ❀️. + +We love seeing the community make Lazyssh better πŸš€ --- +## ⭐ Support + +If you find Lazyssh useful, please consider giving the repo a **star** ⭐️ and join [stargazers](https://github.com/adembc/lazyssh/stargazers). + +β˜• You can also support me by [buying me a coffee](https://www.buymeacoffee.com/adembc) ❀️ + +--- ## πŸ™ Acknowledgments diff --git a/docs/add server.png b/docs/add server.png new file mode 100644 index 0000000..c7cb38f Binary files /dev/null and b/docs/add server.png differ diff --git a/docs/list server.png b/docs/list server.png new file mode 100644 index 0000000..a5d159c Binary files /dev/null and b/docs/list server.png differ diff --git a/docs/loader.png b/docs/loader.png new file mode 100644 index 0000000..1aedb0d Binary files /dev/null and b/docs/loader.png differ diff --git a/docs/search.png b/docs/search.png new file mode 100644 index 0000000..b77aaf1 Binary files /dev/null and b/docs/search.png differ diff --git a/docs/ssh.png b/docs/ssh.png new file mode 100644 index 0000000..0054ac8 Binary files /dev/null and b/docs/ssh.png differ diff --git a/makefile b/makefile index 212a005..c281e98 100644 --- a/makefile +++ b/makefile @@ -19,7 +19,7 @@ SHELL = /usr/bin/env bash -o pipefail # Project variables PROJECT_NAME ?= $(shell basename $(CURDIR)) -VERSION ?= v0.0.1 +VERSION ?= v0.1.0 BUILD_TIME ?= $(shell date -u '+%Y-%m-%d_%H:%M:%S') GIT_COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")