Files
HostKeeper/cmd/hostkeeper/main.go
T
swanadiva 7b06793002 feat: native SSH delegation via tea.ExecProcess + Gruvbox palette
Phase A — Tamagosh-inspired redesign:
- Replace goroutine-based SSH (crypto/ssh) with tea.ExecProcess + native ssh binary
- Zero-lag SSH: native binary pegang TTY langsung, ga ada Go buffering
- Password auth via sshpass -e (SSHPASS env)
- Key auth via ssh -i <tmpfile> + SSH_ASKPASS for passphrase
- ControlMaster sockets for fast reconnect
- Add askpass subcommand for SSH_ASKPASS support
- Gruvbox Material Dark Hard palette for comfortable viewing
- Clean up old session messages (openSessionMsg, sessionOutputMsg, sessionDoneMsg)
- Remove 354-line session.go, replace with 150-line ssh.go
2026-06-23 15:36:40 +07:00

25 lines
417 B
Go

package main
import (
"fmt"
"os"
)
var (
version = "dev"
buildTime = "unknown"
)
func main() {
// SSH_ASKPASS support: hostkeeper askpass
// Called by the SSH_ASKPASS script we create for key passphrases.
if len(os.Args) == 2 && os.Args[1] == "askpass" {
fmt.Print(os.Getenv("HK_PASSPHRASE"))
return
}
if err := Execute(); err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
}