Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 847989df75 |
@@ -40,3 +40,4 @@ Thumbs.db
|
|||||||
|
|
||||||
# Build output
|
# Build output
|
||||||
dist/hostkeeper
|
dist/hostkeeper
|
||||||
|
v1/hostkeeper
|
||||||
|
|||||||
@@ -2,136 +2,40 @@
|
|||||||
|
|
||||||
**Cross-platform SSH/SFTP management tool with secure credential storage**
|
**Cross-platform SSH/SFTP management tool with secure credential storage**
|
||||||
|
|
||||||
## Features
|
## V1 (Legacy) — CLI/TUI
|
||||||
|
|
||||||
- **Secure Credential Management** — Store SSH credentials with proper file permissions (0600)
|
V1 adalah versi CLI/TUI yang sudah selesai dan di-freeze. Semua kode ada di folder [`v1/`](v1/).
|
||||||
- **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
|
```bash
|
||||||
# Build from source
|
cd v1
|
||||||
git clone https://git.tukangketik.id/swanadiva/HostKeeper.git
|
|
||||||
cd hostkeeper
|
|
||||||
make build
|
make build
|
||||||
|
./hostkeeper tui
|
||||||
# Or install directly
|
|
||||||
go install git.tukangketik.id/swanadiva/hostkeeper/cmd/hostkeeper@latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Usage
|
Lihat [`v1/README.md`](v1/README.md) untuk dokumentasi lengkap.
|
||||||
|
|
||||||
```bash
|
## V2 (In Development) — GoFiber + React + Electron
|
||||||
# Add a host (interactive)
|
|
||||||
hostkeeper add
|
|
||||||
|
|
||||||
# Or with flags
|
V2 adalah rewrite dengan arsitektur baru:
|
||||||
hostkeeper add myserver --host 192.168.1.10 --user admin --password mypass
|
- **Backend**: GoFiber v2 (fasthttp) — lokal HTTP server di `app/backend/`
|
||||||
|
- **Frontend**: React + TypeScript + TailwindCSS v4 di `app/frontend/`
|
||||||
|
- **Desktop**: Electron wrapper di `app/electron/`
|
||||||
|
- **Mobile**: WebView shell di `mobile/`
|
||||||
|
|
||||||
# List all hosts
|
Lihat [docs/v2/](docs/v2/) untuk dokumentasi perencanaan.
|
||||||
hostkeeper list
|
|
||||||
|
|
||||||
# Connect to host
|
## Struktur Repository
|
||||||
hostkeeper connect myserver
|
|
||||||
|
|
||||||
# Edit host
|
|
||||||
hostkeeper edit myserver
|
|
||||||
|
|
||||||
# Delete host
|
|
||||||
hostkeeper delete myserver
|
|
||||||
|
|
||||||
# Launch TUI
|
|
||||||
hostkeeper tui
|
|
||||||
```
|
```
|
||||||
|
hostkeeper/
|
||||||
## Core Commands
|
├── v1/ ← V1 CLI/TUI (frozen)
|
||||||
|
├── app/ ← V2 backend + frontend + electron
|
||||||
| Command | Description |
|
├── mobile/ ← V2 mobile wrapper
|
||||||
|---------|-------------|
|
├── template/ ← Referensi UI React (Lumina System)
|
||||||
| `hostkeeper add [name]` | Add a new SSH host |
|
└── docs/
|
||||||
| `hostkeeper list` | List all saved hosts |
|
└── v2/ ← Dokumentasi perencanaan V2
|
||||||
| `hostkeeper connect <name>` | Connect to a host |
|
|
||||||
| `hostkeeper edit <name>` | Edit a host configuration |
|
|
||||||
| `hostkeeper delete <name>` | Delete a host |
|
|
||||||
| `hostkeeper export <file>` | Export data to JSON file |
|
|
||||||
| `hostkeeper import <file>` | 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
|
## License
|
||||||
|
|
||||||
MIT
|
MIT
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# Hostkeeper V1 — CLI/TUI
|
||||||
|
|
||||||
|
> **Status**: FROZEN — no further development.
|
||||||
|
> Pembuatan V2 dilakukan di folder `../app/` dan `../mobile/`.
|
||||||
|
|
||||||
|
Hostkeeper V1 adalah SSH/SFTP management tool berbasis CLI + TUI (Bubble Tea).
|
||||||
|
|
||||||
|
## Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd v1
|
||||||
|
make build
|
||||||
|
./hostkeeper tui
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dokumentasi
|
||||||
|
|
||||||
|
- [Architecture](docs/ARCHITECTURE.md)
|
||||||
|
- [Installation](docs/INSTALLATION.md)
|
||||||
|
- [Usage](docs/USAGE.md)
|
||||||
|
- [Test Plan](docs/TEST_PLAN.md)
|
||||||
|
- [Project State](PROJECT_STATE.md)
|
||||||
|
|
||||||
|
## Tech Stack
|
||||||
|
|
||||||
|
- Go 1.26+
|
||||||
|
- Cobra (CLI)
|
||||||
|
- Bubble Tea (TUI)
|
||||||
|
- golang.org/x/crypto/ssh
|
||||||
|
|
||||||
|
## Test
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd v1
|
||||||
|
make test
|
||||||
|
# 105 tests passing
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user