swanadiva 98dfc1c79c feat: Task 16 — SSH Session Tab (multi-session)
- pkg/tui/session.go — SessionTab with live SSH terminal in a tab
- pkg/tui/messages.go — quitMsg, openSessionMsg, sessionOutputMsg
- pkg/tui/tabs.go — Tab.Close() interface, Add() returns tea.Cmd
- pkg/tui/host_list_tab.go — Enter opens session tab, q quits
- pkg/tui/tui.go — handle openSessionMsg/quitMsg, SetDataDir
- cmd/hostkeeper/tui.go — pass dataDir to model
2026-06-23 14:54:44 +07:00

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

# 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

# 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 <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 for detailed instructions for all platforms.

Usage

See Usage Guide for detailed command examples.

Architecture

See Architecture Overview 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

git clone https://git.tukangketik.id/swanadiva/HostKeeper.git
cd hostkeeper
make deps
make build

Testing

# All tests
make test

# With coverage
make test-coverage

Build

# Current platform
make build

# All platforms
make release

Tech Stack

Project Status

Project is in active development. See PROJECT_STATE.md for current progress.

License

MIT

S
Description
No description provided
Readme 1.5 MiB
Languages
Go 46.2%
TypeScript 20.5%
HTML 19.6%
CSS 12%
JavaScript 1.1%
Other 0.6%