Revise README with modern feature and setup overview
This commit is contained in:
parent
474ff8cd26
commit
67fc7a9226
157
README.md
157
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
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
- 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
|
||||
|
||||
Die App speichert Runtime-Daten im Electron-`userData`-Verzeichnis, u.a.:
|
||||
|
||||
- Runtime-Dateien liegen im Electron `userData` Verzeichnis:
|
||||
- `rd_downloader_config.json`
|
||||
- `rd_session_state.json`
|
||||
- `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`.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user