From 67fc7a92268a609d3443a1b3b9f97498c20405d1 Mon Sep 17 00:00:00 2001 From: Sucukdeluxe Date: Sun, 1 Mar 2026 02:28:15 +0100 Subject: [PATCH] Revise README with modern feature and setup overview --- README.md | 163 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 98 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index 481e1b2..1111224 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,120 @@ -# Real-Debrid Download Manager (Node/Electron) +# Multi Debrid Downloader -Desktop-App auf **Node.js + Electron + React + TypeScript** mit JDownloader-Style Workflow, optimiert fuer Real-Debrid. +Desktop-Downloader fuer **Real-Debrid, Mega-Debrid, BestDebrid und AllDebrid** mit schneller Queue-Verwaltung, automatischem Entpacken und robuster Fehlerbehandlung. -## Highlights +![Platform](https://img.shields.io/badge/platform-Windows%2010%2F11-0078D6) +![Electron](https://img.shields.io/badge/Electron-31.x-47848F) +![React](https://img.shields.io/badge/React-18.x-149ECA) +![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6) +![License](https://img.shields.io/badge/license-MIT-green) -- Modernes, dunkles UI mit Header-Steuerung (Start, Pause, Stop, Speed, ETA) -- Tabs: **Linksammler**, **Downloads**, **Settings** -- Paketbasierte Queue mit Datei-Status, Progress, Speed, Retries -- Paket-Abbruch waehrend laufender Downloads inklusive sicherem Archiv-Cleanup -- `.dlc` Import (Dateidialog und Drag-and-Drop) -- Session-Persistenz (robustes JSON-State-Management) -- Auto-Resume beim Start (optional) -- Reconnect-Basislogik (429/503, Wartefenster, resumable priorisiert) -- Integritaetscheck (SFV/CRC32/MD5/SHA1) nach Download -- Auto-Retry bei Integritaetsfehlern -- Cleanup-Trigger fuer fertige Tasks: - - Nie - - Sofort - - Beim App-Start - - Sobald Paket fertig ist +## Warum dieses Tool? -## Voraussetzungen +- Ein Workflow wie bei klassischen Download-Managern: sammeln, starten, pausieren, fortsetzen, sauber abschliessen. +- Mehrere Debrid-Provider in einer App, inklusive automatischem Provider-Fallback. +- Fokus auf Stabilitaet bei grossen Queues: Session-Persistenz, Reconnect-Handling, Resume und Integritaetspruefung. -- Node.js 20+ (empfohlen 22+) -- Windows 10/11 (fuer Release-Build) -- Optional: 7-Zip/UnRAR fuer RAR/7Z Entpacken +## Kernfunktionen + +### Queue und Download-Engine + +- Paketbasierte Queue mit Datei-Status, Fortschritt, ETA, Speed und Retry-Zaehlern. +- Start, Pause, Stop und Einzel-/Paket-Abbruch waehrend laufender Downloads. +- Duplicate-Strategien beim Hinzufuegen: behalten, ueberspringen oder ueberschreiben. +- Session-Wiederherstellung beim Neustart inkl. optionalem Auto-Resume. + +### Debrid und Link-Handling + +- Unterstuetzte Provider: `realdebrid`, `megadebrid`, `bestdebrid`, `alldebrid`. +- Konfigurierbare Reihenfolge: Primary + Secondary + Tertiary. +- Optionaler automatischer Fallback auf alternative Provider bei Fehlern. +- `.dlc`-Import per Datei-Dialog und Drag-and-Drop. + +### Entpacken, Cleanup und Qualitaet + +- Auto-Extract mit separatem Zielordner und Konflikt-Strategien. +- Hybrid-Extract, optionale Bereinigung von Link-Dateien und Sample-Dateien. +- Integritaetspruefung nach Download (`CRC32`, `MD5`, `SHA1`) mit Auto-Retry bei Fehlern. +- Cleanup-Policy fuer fertige Downloads: `never`, `immediate`, `on_start`, `package_done`. + +### Komfort und Automatisierung + +- Clipboard-Watcher zum automatischen Erkennen neuer Links. +- Minimize-to-Tray mit Tray-Menue. +- Geschwindigkeitslimit global oder pro Download. +- Bandwidth-Schedules fuer zeitgesteuerte Geschwindigkeitsprofile. +- Integrierte Update-Pruefung ueber GitHub Releases. ## Installation +### Option A: Fertige Releases (empfohlen) + +1. Release von der GitHub-Release-Seite herunterladen. +2. Setup oder Portable-Version starten. +3. Debrid-Tokens in den Settings eintragen. + +Releases: `https://github.com/Sucukdeluxe/real-debrid-downloader/releases` + +### Option B: Aus dem Source bauen + +Voraussetzungen: + +- Node.js `20+` (empfohlen `22+`) +- npm +- Windows `10/11` (fuer Packaging und regulaeren Desktop-Betrieb) +- Optional: 7-Zip/UnRAR fuer bestimmte Archive + ```bash npm install -``` - -## Entwicklung - -```bash npm run dev ``` -## Build +## NPM-Skripte -```bash -npm run build -``` +| Befehl | Beschreibung | +| --- | --- | +| `npm run dev` | Startet Main, Renderer und Electron im Dev-Modus | +| `npm run build` | Baut Main- und Renderer-Bundles | +| `npm run start` | Startet die App lokal im Production-Modus | +| `npm test` | Fuehrt Vitest-Unit-Tests aus | +| `npm run self-check` | Fuehrt integrierten End-to-End-Self-Check aus | +| `npm run release:win` | Erstellt Windows-Installer + Portable-Build | -Danach liegen die Artefakte in: +## Typischer Workflow -- `build/main` -- `build/renderer` - -## Start (Production lokal) - -```bash -npm run start -``` - -## Tests - -```bash -npm test -npm run self-check -``` - -- `npm test`: Unit-Tests fuer Parser/Cleanup/Integrity -- `npm run self-check`: End-to-End-Checks mit lokalem Mock-Server (Queue, Pause/Resume, Reconnect, Paket-Cancel) - -## Changelog - -- Detaillierte Release-Historie: `CHANGELOG.md` +1. Provider-Tokens in den Settings hinterlegen. +2. Links oder `.dlc` einfuegen/importieren. +3. Optional Paketnamen, Zielordner, Entpack- und Cleanup-Regeln setzen. +4. Queue starten und Fortschritt in der Downloads-Ansicht ueberwachen. +5. Nach Abschluss Integritaetsstatus und Zusammenfassung pruefen. ## Projektstruktur -- `src/main`: Electron Main Process + Download/Queue Logik -- `src/preload`: sichere IPC Bridge -- `src/renderer`: React UI -- `src/shared`: gemeinsame Typen und IPC-Channel -- `tests`: Unit- und Self-Check Tests +- `src/main` - Electron Main Process, Queue/Download/Provider-Logik +- `src/preload` - sichere IPC-Bridge zwischen Main und Renderer +- `src/renderer` - React-Oberflaeche +- `src/shared` - gemeinsame Typen und IPC-Vertraege +- `tests` - Unit- und Self-Check-Tests -## Hinweise +## Daten und Logs -- Runtime-Dateien liegen im Electron `userData` Verzeichnis: - - `rd_downloader_config.json` - - `rd_session_state.json` - - `rd_downloader.log` +Die App speichert Runtime-Daten im Electron-`userData`-Verzeichnis, u.a.: -- Das Repository enthält jetzt nur noch die aktive Node/Electron-Codebasis. +- `rd_downloader_config.json` +- `rd_session_state.json` +- `rd_downloader.log` + +## Troubleshooting + +- Download startet nicht: Token/Provider in den Settings pruefen. +- Entpacken schlaegt fehl: Archive-Passwoerter und Entpack-Tool-Verfuegbarkeit pruefen. +- Sehr langsame Downloads: Speed-Limit und aktive Bandwidth-Schedules kontrollieren. +- Unerwartete Unterbrechungen: Reconnect-Option und Fallback-Provider aktivieren. + +## Changelog + +Die Release-Historie findest du in `CHANGELOG.md` und unter GitHub Releases. + +## Lizenz + +MIT - siehe `LICENSE`.