Project Initialisation
added Project files
This commit is contained in:
124
README.md
Normal file
124
README.md
Normal file
@@ -0,0 +1,124 @@
|
||||
# PulseGate Desktop
|
||||
|
||||
PulseGate Desktop ist eine grafische Desktop-Variante des PulseGate SSH Managers. Die App verwaltet SSH-Server, nutzt dieselbe YAML-Konfiguration wie die bestehende TUI und startet Verbindungen in einem lokalen Terminal-Emulator.
|
||||
|
||||
## Features
|
||||
|
||||
- Desktop-UI ohne Browser
|
||||
- Serverliste mit Suche
|
||||
- Server hinzufügen, bearbeiten und löschen
|
||||
- SSH-Verbindung per Button starten
|
||||
- SSH-Befehl pro Server anzeigen
|
||||
- Terminal-Settings verwalten
|
||||
- Quick Commands anzeigen
|
||||
- Gemeinsame Konfiguration mit PulseGate TUI
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Linux Desktop-Umgebung
|
||||
- Python 3 mit `tkinter`
|
||||
- Python-Paket `PyYAML`
|
||||
- `ssh`
|
||||
- ein unterstützter Terminal-Emulator:
|
||||
- `kitty`
|
||||
- `alacritty`
|
||||
- `konsole`
|
||||
- `gnome-terminal`
|
||||
- `xfce4-terminal`
|
||||
- `xterm`
|
||||
|
||||
Für die optionale Web-Variante wird zusätzlich Go benötigt.
|
||||
|
||||
## Start
|
||||
|
||||
Desktop-App starten:
|
||||
|
||||
```bash
|
||||
cd /home/pascal/Projekte/PulseGate-GUI
|
||||
./pulsegate-desktop
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
```text
|
||||
~/.config/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
|
||||
```
|
||||
|
||||
## Web-Variante
|
||||
|
||||
Im Projekt liegt zusätzlich noch eine einfache lokale Web-Variante:
|
||||
|
||||
```bash
|
||||
go run ./cmd/pulsegate-gui
|
||||
```
|
||||
|
||||
Danach öffnen:
|
||||
|
||||
```text
|
||||
http://127.0.0.1:8090
|
||||
```
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```text
|
||||
.
|
||||
├── cmd/pulsegate-gui/ # optionaler Go-Webserver
|
||||
├── desktop/ # Python/Tk Desktop-App
|
||||
├── internal/config/ # Go-Konfigurationslogik
|
||||
├── internal/models/ # Go-Datenmodelle
|
||||
├── web/ # optionale Web-Oberfläche
|
||||
├── go.mod
|
||||
├── pulsegate-desktop # Launcher für die Desktop-App
|
||||
└── 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.
|
||||
Reference in New Issue
Block a user