import { ReactNode } from 'react'
import { Disc, Tv, HardDrive, Bell, Wrench, Cpu, Download, HelpCircle } from 'lucide-react'
import { PageHeader } from '../components/ui/PageHeader'
import { Card, CardHeader, CardTitle, CardContent } from '../components/ui/Card'
function Abschnitt({ icon: Icon, titel, children }: { icon: any, titel: string, children: ReactNode }) {
return (
1. Disc einlegen. Rippy erkennt sie automatisch (Titel, Poster, Beschreibung) und zeigt sie oben im Dashboard. Stimmt der Titel nicht → „Nicht korrekt?" klicken und den richtigen wählen — Rippy merkt sich das für diese Disc.
2. „Rippen starten" und das Ziel wählen: 🎥 Filme, 📺 Serien, 🎵 Musik oder ein eigener Ordner (auch NAS-Freigaben). Optional: „Nur Hauptfilm" (längster Titel) oder per „Disc scannen" einzelne Titel an-/abwählen.
3. Warten. Rippy sichert verlustfrei (MakeMKV) und komprimiert danach auf Arbeitsgröße (HandBrake) — alle Tonspuren und Untertitel bleiben erhalten. Fertige Jobs haben einen Download-Knopf; Klick auf den Titel zeigt alle Details.
Vollautomatik: Unter Einstellungen → Ripping einschaltbar — dann startet der Rip ohne Nachfrage, sobald eine Disc erkannt wurde. Bereits gerippte Discs (Fingerabdruck) werden übersprungen.
Im „Rippen starten"-Dialog „Serien" wählen, Serienname und
Staffel angeben. Die Ablage wird automatisch Serie/Season 02/…, und nach dem
Rip ordnet Rippy die Episoden über einen Laufzeit-Abgleich mit TMDB zu und benennt sie
(„Serie S02E03.mkv"). Das passiert nur bei eindeutiger Zuordnung —
im Zweifel bleiben die Original-Namen und das Log sagt warum.
Eine komplette Staffel auf einer Disc klappt auch, wenn alle Episoden gleich lang sind (Anime-Boxen). Bei Teil-Discs mit lauter gleich langen Episoden ist eine automatische Zuordnung prinzipiell nicht möglich — dann von Hand umbenennen.
Einstellungen → Speicherziele: Rechner/NAS eintragen, Benutzer + Passwort angeben (Windows und die meisten NAS lehnen Gast-Zugriffe ab!), „Freigaben auflisten", Freigabe wählen, „Einhängen & speichern". Danach taucht das Ziel im „Rippen starten"-Dialog auf und wird beim Start automatisch wieder verbunden.
4K-UHD-Tipp: Rohdaten sind bis 100 GB groß. Wenn die Rippy-Platte knapp ist (Dashboard zeigt den freien Platz), das Arbeitsverzeichnis unter Einstellungen → Verarbeitung auf eine große Freigabe legen. Rippy prüft den Platz vor jedem Rip und bricht sonst mit Klartext ab.
Einstellungen → Ripping → Media-Server: Rippy benennt fertige Rips als „Titel (Jahr)" und
legt für Jellyfin/Emby/Kodi zusätzlich movie.nfo + poster.jpg dazu —
dein Server erkennt alles ohne Nacharbeit (Plex nutzt nur die Benennung).
Null-Klick-Kette: Bei Jellyfin/Emby zusätzlich Server-URL und API-Key eintragen (Administration → API-Schlüssel) — dann stößt Rippy nach jedem fertigen Rip sofort einen Bibliotheks-Scan an. Disc rein → Film erscheint im Server.
Einstellungen → Benachrichtigungen: eine Webhook-URL eintragen (Discord-Webhook, ntfy-Thema für Handy-Push, Slack oder eigenes JSON), „Test senden", speichern. Rippy meldet sich, wenn ein Job fertig ist, fehlschlägt oder abgebrochen wird. Die Schritt-für-Schritt-Anleitung je Dienst steht direkt auf der Einstellungs-Seite.
Die Kompression kann jede Maschine im Netz übernehmen — Einstellungen → Worker. Für Windows gibt es einen Installer (.exe): herunterladen, doppelklicken, im Fenster Adresse + Name eintragen, „Installieren" — kein Konsolenfenster, kein CLI (nur Python 3.10+ muss auf dem PC sein). Für Linux gibt es einen Docker-Befehl. Die Maschine taucht danach unter ihrem Namen in der Worker-Liste auf und zieht sich Kompressions-Jobs automatisch. Gerippt wird immer auf der Rippy-Hauptmaschine.
Der Windows-Worker läuft mit Tray-Symbol neben der Uhr
(Status, Start/Stopp, „Rippy öffnen", Log) — gestartet über start-tray.bat.
Deinstallieren: uninstall.ps1 im Worker-Ordner stoppt alles, entfernt den
Autostart, meldet den Worker in Rippy ab und löscht den Ordner rückstandsfrei.
Wichtig: Worker verbinden sich direkt im Heimnetz — in den Befehlen immer die LAN-Adresse der Rippy-Maschine verwenden, nie eine externe Domain (die läuft über den Reverse-Proxy und blockt).
Blu-ray-Ripping braucht den MakeMKV-Beta-Key, der etwa monatlich wechselt (MakeMKV-Forum, Thread „MakeMKV is free while in beta"). Neuen Key unter Einstellungen → System eintragen — gilt ab dem nächsten Rip, ohne Neustart. DVDs gehen immer auch ohne Key. Dort stehen auch die Werkzeug-Versionen und der freie Speicherplatz.
Updates: „Auf Updates prüfen" (ebenfalls Einstellungen → System) vergleicht die installierten Versionen mit makemkv.com und den offiziellen HandBrake-Releases. Gibt es ein MakeMKV-Update, zeigt Rippy den fertigen Update-Befehl an — wichtig, weil neue Versionen auch die neueste Disc-Schlüssel-Datenbank mitbringen.
Bei fertigen Jobs: „Download" in der Aktion-Spalte (oder Klick auf den Titel) → Dateiliste mit „Alle herunterladen". Die Job-Liste lässt sich per Papierkorb bzw. „Erledigte aufräumen" leeren — die gerippten Dateien bleiben dabei immer liegen. „CSV" exportiert die komplette Historie für Excel.
„Diese Disc wurde bereits gerippt"? Rippy erkennt Discs am Fingerabdruck. Nochmal rippen geht trotzdem — der Hinweis verhindert nur Versehen.
4K-UHD schlägt fehl mit „volume key is unknown"? Das Laufwerk liest die Disc (LibreDrive), aber MakeMKV kennt den Schlüssel dieser (zu neuen) Pressung noch nicht. Den automatisch gespeicherten AACS-Dump im MakeMKV-Forum einreichen — mit einem der nächsten Updates ist die Disc rippbar.
„Neu komprimieren" fehlt bei einem Fehl-Job? Der Knopf erscheint nur, wenn die Rohdaten noch daliegen — bei einem Job, der nie gerippt hat, gäbe es nichts zu komprimieren.
Kein Laufwerk sichtbar? In einer VM muss das Laufwerk per USB-Passthrough durchgereicht sein (nicht als emuliertes CD-ROM) — Details in der README.