Files
PulseGate-GUI/README.md
T
Pepe44DEV 743b8d7a5e
Build Windows / build (push) Has been cancelled
Features: Quick Commands ausfuehrbar, Gruppenfilter, Duplizieren, Erreichbarkeits-Check, Themes, Kontextmenue
- Quick Commands lokal oder via SSH auf dem ausgewaehlten Server starten
- Server duplizieren, SSH-Befehl in die Zwischenablage kopieren
- Erreichbarkeits-Check pro Server (TCP, Thread-basiert) mit Statuspunkt
- Gruppenfilter-Chips in der Sidebar
- Themes: neon-green, ocean-blue, sunset-orange, cyber-purple
- Doppelklick verbindet, Rechtsklick-Kontextmenue, Shortcuts F5/Ctrl+N/Ctrl+S
- Quick-Commands-Seite mit Buttons, About-Dialog, Config-Ordner oeffnen
- Version 1.1.0
2026-09-06 22:57:39 +00:00

160 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PulseGate Desktop
PulseGate Desktop ist eine grafische Desktop-App zur Verwaltung von SSH-Servern. Die App nutzt eine YAML-Konfiguration, listet und verwaltet Server, zeigt SSH-Befehle an und startet Verbindungen im lokalen Terminal-Emulator.
Läuft nativ auf **Linux** und **Windows**. Für Windows liegt ein fertiger Installer-Build (PyInstaller + Inno Setup) bei.
## Features
- Desktop-UI ohne Browser
- Serverliste mit Suche
- Server hinzufügen, bearbeiten, duplizieren und löschen
- Gruppenfilter in der Sidebar
- SSH-Verbindung per Button, per Doppelklick oder über das Kontextmenü starten
- Erreichbarkeits-Check pro Server (TCP-Ping)
- SSH-Befehl pro Server anzeigen und in die Zwischenablage kopieren
- **Quick Commands ausführbar** – lokal oder via SSH auf dem ausgewählten Server
- Konfigurierbare Themes (neon-green, ocean-blue, sunset-orange, cyber-purple)
- Tastenkürzel: F5 neu laden, Ctrl+N neuer Server, Ctrl+S speichern
- Terminal-Settings verwalten, Config-Ordner direkt öffnen
- Gemeinsame Konfiguration mit PulseGate TUI
## Voraussetzungen
### Linux
- Python 3 mit `tkinter`
- Python-Paket `PyYAML`
- `ssh`
- ein unterstützter Terminal-Emulator:
- `kitty`, `alacritty`, `konsole`, `gnome-terminal`, `xfce4-terminal` oder `xterm`
### Windows
- Windows 10/11 (OpenSSH-Client ist standardmäßig integriert)
- Optionale Terminal-Emulatoren (werden in dieser Reihenfolge erkannt):
- `wt` (Windows Terminal)
- `cmd` (Fallback, immer verfügbar)
- `powershell`
- Für den Installer-Build zusätzlich: Python 3 + Inno Setup 6
## Start
Desktop-App starten:
```bash
./pulsegate-desktop
```
Direkt mit Python:
```bash
python3 desktop/pulsegate_desktop.py
```
Optional kann ein eigener Config-Pfad übergeben werden:
```bash
./pulsegate-desktop /pfad/zur/config.yaml
```
## Konfiguration
Standardmäßig liest und schreibt PulseGate Desktop diese Datei:
- Linux: `~/.config/pulsegate/config.yaml`
- Windows: `%APPDATA%\pulsegate\config.yaml`
Beispiel:
```yaml
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
key: ""
password_id: unraid-root
kitty_fix: true
quick_commands:
- name: Disk Usage
command: df -h
```
## Windows-Build und Installer
Auf einem Windows-Rechner:
1. Build der EXE (erzeugt `dist\PulseGate.exe`):
```bat
build_windows.bat
```
2. Installer kompilieren – Inno Setup 6 öffnen mit:
```text
installer\installer.iss
```
oder per Kommandozeile:
```bat
iscc installer\installer.iss
```
Ergebnis: `installer\output\PulseGate-Setup-1.0.0.exe`
Alternativ wird bei einem Tag `v*` (z. B. `git tag v1.0.0 && git push --tags`) automatisch per Gitea Actions ein Windows-Build inklusive Installer erstellt.
## Web-Variante
Im Projekt liegt zusätzlich eine optionale lokale Web-Variante:
```bash
go run ./cmd/pulsegate-gui
```
Danach öffnen: `http://127.0.0.1:8090`
## Projektstruktur
```text
.
├── cmd/pulsegate-gui/ # optionale Go-Webvariante
├── desktop/ # Python/Tk Desktop-App (Linux + Windows)
├── installer/ # Inno Setup Installer-Skript
├── assets/ # App-Icon
├── scripts/ # Icon-Generierung
├── web/ # optionale Web-Oberfläche
├── build_windows.bat # Windows-EXE-Build (PyInstaller)
├── requirements.txt # Laufzeit-Abhängigkeiten
├── requirements-build.txt # Build-Abhängigkeiten
├── pulsegate-desktop # Linux-Launcher
└── README.md
```
## Entwicklung
Python-Syntax prüfen:
```bash
python3 -m py_compile desktop/pulsegate_desktop.py
```
Go-Code prüfen:
```bash
go test ./...
```
## Hinweis
Die Desktop-App startet SSH in einem separaten lokalen Terminal-Fenster. Passwortabfragen und interaktive SSH-Sessions laufen dort direkt im Terminal.