# EuerChat - euer.tv IRC & Livestream Client (Windows 64-bit)

euer.tv chat

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 `). * 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 `.sha256` im Release passt. --- ## Schnellstart 1. **Installieren:** `EuerChat__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=` (`/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__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` auf Gitea an und lädt `EuerChat__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.