Files
EuerChat/README.md
T

59 lines
5.2 KiB
Markdown

# EuerChat - euer.tv IRC & Livestream Client (Windows 64-bit)
Ein moderner, performanter und schlanker Desktop-Client für Windows 64-bit, gebaut mit **Rust + Tauri v2** und einem ansprechenden **Dark-Mode Web-Frontend**.
---
## Highlights & Features
* **Eine einzige EXE (`EuerChat.exe`):**
* Startet standardmäßig sauber und übersichtlich für alle Chat-Gäste und Hörer.
* Die Moderationswerkzeuge sind ausgeblendet, bis das Lua/Modi-Addon in den Optionen aktiviert wird.
* **Integrierter Livestream & Radio-Player (Stumm beim Start):**
* Direkter HLS-Videostream (`https://hls21.euer.tv/hls/1080p.m3u8` & `hls23.euer.tv`).
* **Startet garantiert stumm (`muted`)** mit komfortabler Stummschalt-/Ton-Taste und Lautstärkeregler.
* Live-Titelanzeige & Hörerzähler (`https://api.euer.tv/v2/getjsondata.php?status`).
* Automatisches Abrufen des aktuellen Album-Covers (`https://api.euer.tv/v2/getjsondata.php`).
* Ein-/ausblendbares Videofenster für Live-Übertragungen neben dem Chat.
* **Moderations-Werkzeuge (optional):**
* Erst bei manueller Aktivierung des Lua/Modi-Addons in den Optionen erscheint oben links der Button zum Moderator-Wechsel.
* Automatisches Einloggen bei NickServ (`PRIVMSG NickServ :IDENTIFY <passwort>`).
* Ein-Klick-Wechsel: Wechselt zum Moderatoren-Nick und betritt automatisch `#intern` (mit dem in den Optionen hinterlegten Passwort). Beim Zurückwechseln wird in allen offenen Räumen `!deop` gesendet und `#intern` verlassen.
* **IRC-Verbindung zu euer.tv:**
* **Direkt verbinden:** nur den eigenen Namen eingeben, ein Passwort ist optional (nur mit registriertem Account). Verbunden wird fest mit **`irc.euer.tv`**, Port **`6697`** (SSL/TLS, Zertifikate werden geprüft), Raum **`#erde`**.
* **ZNC-Bouncer** für eigene Server (`user/network` + Passwort); selbstsignierte Zertifikate: `"acceptInvalidCerts": true` in der `config.json` setzen (unsicher).
* Räume unten lassen sich per Maus verschieben, die Oberfläche lässt sich skalieren (75-200 %).
* **Design & Anpassbarkeit:**
* Schriftarten, Schriftgrößen (11px bis 22px), Zeilenabstände, Zeitstempel frei wählbar.
* Animierte GIFs (`CATJAM`, `pepeDS` uvm.) & Smileys aus dem Webchat.
* **Kein störendes Konsolenfenster:**
* Nativ als reine Windows-GUI-Anwendung kompiliert (`#![windows_subsystem = "windows"]`).
* **Saubere Server-Trennung:**
* Sendet beim Schließen regulär `QUIT :Client beendet`.
* **Integrierter Updater:**
* Sucht beim Start (abschaltbar unter Optionen → Updates) im neuesten Gitea-Release nach einer neueren Version, zeigt die Release-Notizen und installiert auf Wunsch still und startet EuerChat neu.
* Es werden nur HTTPS-Adressen des Gitea-Hosts akzeptiert, und der Installer läuft nur, wenn seine SHA-256-Prüfsumme zur Datei `<Installer>.sha256` im Release passt.
---
## Schnellstart
1. **Installieren:** `EuerChat_<Version>_x64-setup.exe` ausführen und die Installationsart wählen. Beim ersten Start einfach den Namen eingeben und verbinden.
* **Standard** (empfohlen): für alle Benutzer, standardmäßig nach `C:\Program Files\EuerChat`, mit Startmenü- und Desktop-Verknüpfung. Erfordert Administratorrechte (UAC-Abfrage), Deinstallation über die Windows-Einstellungen. Die Konfiguration liegt in `%APPDATA%\EuerChat\config.json`.
* **Portable:** nur Kopieren in einen frei wählbaren Ordner (Vorschlag: neben dem Installer), z. B. auf einen USB-Stick. Keine Administratorrechte, keine Registry-Einträge. Die Konfiguration liegt im Unterordner `data` (Marker-Datei `portable.flag`). Entfernen: Ordner löschen.
* Die Konfiguration kann Passwörter enthalten. Sie ist nicht Teil des Installers und gehört nicht ins Repository (steht in `.gitignore`).
* Der Installer lässt sich auch still nutzen: `/S /MODE=standard|portable /D=<Ordner>` (`/D=` immer zuletzt). Der Updater verwendet genau diese Parameter und aktualisiert Standard- und Portable-Installationen an Ort und Stelle (Standard mit UAC-Abfrage, Portable ohne). Einstellungen bleiben erhalten.
* Alternativ ohne Installer: `EuerChat.exe` direkt starten. Eine alte `config.json` neben der EXE wird noch gelesen und beim nächsten Speichern nach `%APPDATA%` übernommen.
2. **Installer bauen:**
```powershell
.\build.bat
```
Benötigt Rust, Node.js und NSIS 3 (`winget install NSIS.NSIS`; der von Tauri geladene NSIS-Cache wird ebenfalls gefunden). Das Skript baut die App ohne Tauri-Bundler und dann den eigenen Installer `installer\EuerChat.nsi`. Ergebnis: `dist\EuerChat_<Version>_x64-setup.exe`, dazu die lose `EuerChat.exe` im Hauptordner.
3. **Tests:** `cd src-tauri; cargo test`
4. **Release veröffentlichen:**
1. Version in `src-tauri\tauri.conf.json` und `src-tauri\Cargo.toml` erhöhen, optional Release-Notizen in `RELEASE_NOTES.md` schreiben.
2. `.\build.bat` ausführen.
3. `.\publish-release.ps1` ausführen. Es legt den Release `v<Version>` auf Gitea an und lädt `EuerChat_<Version>_x64-setup.exe` samt `.sha256` hoch.
Der Token kommt aus der Umgebungsvariable `GITEA_TOKEN` oder aus `%LOCALAPPDATA%\EuerChat\developer\gitea-token.dpapi`.
* Gitea-Adresse und Repository stehen oben in `src-tauri\src\updater.rs` (`GITEA_BASE_URL`, `GITEA_REPO`) und in `publish-release.ps1`. Das Repository muss öffentlich sein, damit der Updater ohne Token auskommt.