Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c6b5554028 |
@@ -40,4 +40,3 @@ Thumbs.db
|
|||||||
|
|
||||||
# Build output
|
# Build output
|
||||||
dist/hostkeeper
|
dist/hostkeeper
|
||||||
v1/hostkeeper
|
|
||||||
|
|||||||
@@ -2,40 +2,136 @@
|
|||||||
|
|
||||||
**Cross-platform SSH/SFTP management tool with secure credential storage**
|
**Cross-platform SSH/SFTP management tool with secure credential storage**
|
||||||
|
|
||||||
## V1 (Legacy) — CLI/TUI
|
## Features
|
||||||
|
|
||||||
V1 adalah versi CLI/TUI yang sudah selesai dan di-freeze. Semua kode ada di folder [`v1/`](v1/).
|
- **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
|
```bash
|
||||||
cd v1
|
# Build from source
|
||||||
|
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
|
||||||
```
|
```
|
||||||
|
|
||||||
Lihat [`v1/README.md`](v1/README.md) untuk dokumentasi lengkap.
|
### Usage
|
||||||
|
|
||||||
## V2 (In Development) — GoFiber + React + Electron
|
```bash
|
||||||
|
# Add a host (interactive)
|
||||||
|
hostkeeper add
|
||||||
|
|
||||||
V2 adalah rewrite dengan arsitektur baru:
|
# Or with flags
|
||||||
- **Backend**: GoFiber v2 (fasthttp) — lokal HTTP server di `app/backend/`
|
hostkeeper add myserver --host 192.168.1.10 --user admin --password mypass
|
||||||
- **Frontend**: React + TypeScript + TailwindCSS v4 di `app/frontend/`
|
|
||||||
- **Desktop**: Electron wrapper di `app/electron/`
|
|
||||||
- **Mobile**: WebView shell di `mobile/`
|
|
||||||
|
|
||||||
Lihat [docs/v2/](docs/v2/) untuk dokumentasi perencanaan.
|
# List all hosts
|
||||||
|
hostkeeper list
|
||||||
|
|
||||||
## Struktur Repository
|
# Connect to host
|
||||||
|
hostkeeper connect myserver
|
||||||
|
|
||||||
|
# Edit host
|
||||||
|
hostkeeper edit myserver
|
||||||
|
|
||||||
|
# Delete host
|
||||||
|
hostkeeper delete myserver
|
||||||
|
|
||||||
|
# Launch TUI
|
||||||
|
hostkeeper tui
|
||||||
```
|
```
|
||||||
hostkeeper/
|
|
||||||
├── v1/ ← V1 CLI/TUI (frozen)
|
## Core Commands
|
||||||
├── app/ ← V2 backend + frontend + electron
|
|
||||||
├── mobile/ ← V2 mobile wrapper
|
| Command | Description |
|
||||||
├── template/ ← Referensi UI React (Lumina System)
|
|---------|-------------|
|
||||||
└── docs/
|
| `hostkeeper add [name]` | Add a new SSH host |
|
||||||
└── v2/ ← Dokumentasi perencanaan V2
|
| `hostkeeper list` | List all saved hosts |
|
||||||
|
| `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
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
# 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