# Hostkeeper **Cross-platform SSH/SFTP management tool with secure credential storage** ## Features - **Secure Credential Management** — Store SSH credentials with proper file permissions (0600) - **SSH Connection** — Connect to hosts via native SSH or Go SSH client - **Host Management** — Add, list, connect, edit, delete hosts - **Export/Import** — Backup and transfer credentials across devices - **TUI Interface** — Interactive terminal user interface for host management - **Cross-Platform** — Works on Linux, macOS, Windows, and Termux (Android) - **Fast CLI** — Quick commands for power users - **Tag-based Organization** — Categorize hosts with custom tags and groups ## Quick Start ### Installation ```bash # Build from source git clone https://git.tukangketik.id/swanadiva/HostKeeper.git cd hostkeeper make build # Or install directly go install git.tukangketik.id/swanadiva/hostkeeper/cmd/hostkeeper@latest ``` ### Usage ```bash # Add a host (interactive) hostkeeper add # Or with flags hostkeeper add myserver --host 192.168.1.10 --user admin --password mypass # List all hosts hostkeeper list # Connect to host hostkeeper connect myserver # Edit host hostkeeper edit myserver # Delete host hostkeeper delete myserver # Launch TUI hostkeeper tui ``` ## Core Commands | Command | Description | |---------|-------------| | `hostkeeper add [name]` | Add a new SSH host | | `hostkeeper list` | List all saved hosts | | `hostkeeper connect ` | Connect to a host | | `hostkeeper edit ` | Edit a host configuration | | `hostkeeper delete ` | Delete a host | | `hostkeeper export ` | Export data to JSON file | | `hostkeeper import ` | Import data from JSON file | | `hostkeeper tui` | Launch TUI interface | | `hostkeeper completion [shell]` | Generate shell completion | | `hostkeeper version` | Print version info | ## Installation See [Installation Guide](docs/INSTALLATION.md) for detailed instructions for all platforms. ## Usage See [Usage Guide](docs/USAGE.md) for detailed command examples. ## Architecture See [Architecture Overview](docs/ARCHITECTURE.md) for technical details. ## Security - All credential files use `0600` permissions (owner read/write only) - Passwords and keys are never logged or displayed in error messages - Encrypted storage planned for Phase 2 ## Development ### Prerequisites - Go 1.21+ - Make (optional, for build automation) ### Setup ```bash git clone https://git.tukangketik.id/swanadiva/HostKeeper.git cd hostkeeper make deps make build ``` ### Testing ```bash # All tests make test # With coverage make test-coverage ``` ### Build ```bash # Current platform make build # All platforms make release ``` ## Tech Stack - **Language**: Go 1.21+ - **CLI Framework**: [Cobra](https://github.com/spf13/cobra) - **TUI Framework**: [Bubble Tea](https://github.com/charmbracelet/bubbletea) - **SSH Library**: [golang.org/x/crypto/ssh](https://pkg.go.dev/golang.org/x/crypto/ssh) ## Project Status Project is in active development. See [PROJECT_STATE.md](PROJECT_STATE.md) for current progress. ## License MIT