Agentless Linux server monitor — Go CLI / TUI (primary) and optional Electron desktop. No agent on the host: connect over SSH, scrape CPU / memory / disk / load.
ASCII video (overview → metrics tick → search → detail → transfer):
Replay locally:
./scripts/play-tui-demo.sh # frame-by-frame in your terminal
asciinema play doc/tui.cast # if you have asciinema
make demo # regenerate doc/tui.{cast,svg}Cast: doc/tui.cast
make build
./bin/sguala init
./bin/sgualaOr install to ~/.local/bin:
make installReleases: multi-platform sguala binaries on GitHub Releases (linux / darwin / windows, amd64 / arm64).
Hosts come from ~/.ssh/config. Full reference: doc/cli.md.
- Live metrics table;
/search; groups from# sectioncomments in SSH config oopen interactive SSH (pure Go);eedit config at the selected Host;ttransfer;ppassword storesguala get|put|sftpvia pure-Go SFTP (ProxyJump / Identity / stored password)- Terminal title set on connect (
ssh web-01, …)
| Backend | When |
|---|---|
| OS keyring | macOS / Windows / Linux Secret Service (CLI preferred) |
~/.config/sguala/host_passwords.json (mode 0600) |
Fallback when keyring is missing (headless Linux, etc.) |
sguala passwd <Host-alias>sguala export ./backup.sguala.zip
sguala export ./full.sguala.zip --keys --secrets # sensitive
sguala import ./backup.sguala.zipElectron UI under desktop/ — server groups, live cards, remote shell, and SFTP. Independent of the CLI runtime; hosts live in app JSON (sguala_2.json), not ~/.ssh/config. Shares the passwords file and sguala-bundle format with the CLI.
cd desktop
npm install
npm start # development
npm run make # package / installers (electron-forge)Desktop Settings: Export / Import Bundle (same format as CLI). Legacy GUI screenshot: doc/over.png.
- Push / PR → GitHub Actions runs CLI tests and build
- Tag
v*→ builds multi-platform CLI binaries and publishes a GitHub Release
git tag v2.1.0
git push origin v2.1.0GPL-3.0