2026-05-03 04:02:00 +02:00
2026-05-03 02:03:57 +02:00
2026-05-03 02:54:48 +02:00
2026-05-03 01:38:16 +02:00
2026-05-03 04:02:00 +02:00
2026-05-03 03:09:19 +02:00

PulseGate

PulseGate ist ein neon-inspiriertes SSH Control Center als TUI-Anwendung für dein Terminal.
Die App verwaltet gespeicherte Server, unterstützt Key- und Passwort-Login, Quick Commands, Statuschecks und Kitty/TERM-Fixes für saubere SSH-Sessions unter Hyprland/Kitty.

PulseGate Screenshot

Features

  • Server aus config.yaml laden
  • Server hinzufügen, bearbeiten und löschen
  • SSH-Verbindung per Key oder Passwort
  • Passwortspeicherung über den Linux-Keyring
  • Quick Commands pro ausgewähltem Server ausführen
  • Command-Output in der TUI anzeigen
  • SSH-Port-Statuscheck mit Refresh
  • Kitty-Fix über TERM=xterm-256color
  • Vollbild-TUI mit Navigation, Settings und Help-View

Voraussetzungen

Arch / CachyOS

sudo pacman -S go git sshpass gnome-keyring libsecret seahorse

Optional, aber empfohlen:

sudo pacman -S openssh

Installation

Repository klonen oder Projektordner öffnen:

cd ~/Projects/pulsegate

Go-Abhängigkeiten installieren:

go mod tidy

Falls du die Dependencies manuell installieren möchtest:

go get github.com/charmbracelet/bubbletea
go get github.com/charmbracelet/lipgloss
go get github.com/charmbracelet/bubbles/textinput
go get gopkg.in/yaml.v3
go get github.com/99designs/keyring
go get golang.org/x/term

Konfiguration

Lege im Projektordner eine config.yaml an:

settings:
  theme: neon-green
  terminal:
    term: xterm-256color
    enable_kitty_fix: true

servers:
  - name: Unraid
    host: 10.0.0.15
    user: root
    port: 22
    group: Homelab
    auth: password
    password_id: unraid-root
    kitty_fix: true

  - name: Webhost
    host: 10.0.0.23
    user: administrator
    port: 22
    group: Homelab
    auth: key
    key: ~/.ssh/id_ed25519
    kitty_fix: true

quick_commands:
  - name: Docker PS
    command: docker ps

  - name: Disk Usage
    command: df -h

  - name: RAM Usage
    command: free -h

  - name: Uptime
    command: uptime

Starten

Während der Entwicklung:

go run .

Als Binary bauen:

go build -o pulsegate
./pulsegate

Optional global installieren:

sudo cp pulsegate /usr/local/bin/
pulsegate

Bedienung

Taste Funktion
/ oder k / j Auswahl bewegen
Enter Server verbinden oder Command ausführen
a Server hinzufügen
e Server bearbeiten
d Server löschen
c Quick Commands öffnen
r SSH-Port-Status aktualisieren
Tab Ansicht wechseln
s Settings öffnen
h Hilfe öffnen
q Zurück oder beenden

Passwort-Login

PulseGate speichert Passwörter nicht in der config.yaml, sondern über den Linux-Keyring.
Beim ersten Verbindungsaufbau mit auth: password fragt PulseGate nach dem Passwort und speichert es unter der angegebenen password_id.

Beispiel:

auth: password
password_id: unraid-root

Zum Anzeigen oder Löschen gespeicherter Passwörter kannst du Seahorse verwenden:

seahorse

Dort nach pulsegate oder der jeweiligen password_id suchen.

SSH-Key-Login

Beispielkonfiguration:

auth: key
key: ~/.ssh/id_ed25519

Public Key auf den Server kopieren:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server-ip

Kitty / TERM Fix

Wenn du über Kitty per SSH auf Server gehst, kann es zu Fehlern kommen wie:

Error opening terminal: xterm-kitty

PulseGate kann für solche Server automatisch setzen:

TERM=xterm-256color

Aktivierung global:

settings:
  terminal:
    term: xterm-256color
    enable_kitty_fix: true

Aktivierung pro Server:

kitty_fix: true

Roadmap

Mögliche nächste Features:

  • Suche und Filter mit /
  • Scrollbarer Command-Output
  • Servergruppen / Tags
  • Import aus ~/.ssh/config
  • Passwort ändern/löschen direkt in der TUI
  • Themes wie neon-green, neon-cyan, orange-authentik
  • Quick Commands pro Servergruppe
Description
Lightweight TUI SSH Client written in GO
Readme 1.3 MiB
Languages
Go 100%