Revise README with modern feature and setup overview

This commit is contained in:
Sucukdeluxe 2026-03-01 02:28:15 +01:00
parent 474ff8cd26
commit 67fc7a9226

157
README.md
View File

@ -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) ## Warum dieses Tool?
- 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
## 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+) ## Kernfunktionen
- Windows 10/11 (fuer Release-Build)
- Optional: 7-Zip/UnRAR fuer RAR/7Z Entpacken ### 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 ## 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 ```bash
npm install npm install
```
## Entwicklung
```bash
npm run dev npm run dev
``` ```
## Build ## NPM-Skripte
```bash | Befehl | Beschreibung |
npm run build | --- | --- |
``` | `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` 1. Provider-Tokens in den Settings hinterlegen.
- `build/renderer` 2. Links oder `.dlc` einfuegen/importieren.
3. Optional Paketnamen, Zielordner, Entpack- und Cleanup-Regeln setzen.
## Start (Production lokal) 4. Queue starten und Fortschritt in der Downloads-Ansicht ueberwachen.
5. Nach Abschluss Integritaetsstatus und Zusammenfassung pruefen.
```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`
## Projektstruktur ## Projektstruktur
- `src/main`: Electron Main Process + Download/Queue Logik - `src/main` - Electron Main Process, Queue/Download/Provider-Logik
- `src/preload`: sichere IPC Bridge - `src/preload` - sichere IPC-Bridge zwischen Main und Renderer
- `src/renderer`: React UI - `src/renderer` - React-Oberflaeche
- `src/shared`: gemeinsame Typen und IPC-Channel - `src/shared` - gemeinsame Typen und IPC-Vertraege
- `tests`: Unit- und Self-Check Tests - `tests` - Unit- und Self-Check-Tests
## Hinweise ## Daten und Logs
Die App speichert Runtime-Daten im Electron-`userData`-Verzeichnis, u.a.:
- Runtime-Dateien liegen im Electron `userData` Verzeichnis:
- `rd_downloader_config.json` - `rd_downloader_config.json`
- `rd_session_state.json` - `rd_session_state.json`
- `rd_downloader.log` - `rd_downloader.log`
- Das Repository enthält jetzt nur noch die aktive Node/Electron-Codebasis. ## 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`.