Desktop downloader
Go to file
Sucukdeluxe 1ba635a793 Fix auto-rename double-episode bug and add 62 rename tests
Bug fixed: When a folder already contained the same episode token as
the source file (e.g. Show.S01E05.720p-4sf + s01e05.mkv), the episode
was inserted a second time producing Show.S01E05.720p.S01E05-4sf.

Root cause: The replace produced an identical string, the equality check
fell through to the suffix-insert branch which added the token again.
Fix: Use regex.test() first, then always apply the replacement when
an episode pattern exists in the folder name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:34:46 +01:00
.github/workflows Migrate app to Node Electron with modern React UI 2026-02-27 03:25:56 +01:00
assets Update app icon and bump version to 1.0.7 2026-02-26 23:45:56 +01:00
installer Harden updater and add icon-based installer release pipeline 2026-02-26 23:36:30 +01:00
scripts Remove legacy Python artifacts from repository 2026-02-27 16:32:01 +01:00
src Fix auto-rename double-episode bug and add 62 rename tests 2026-02-28 06:34:46 +01:00
tests Fix auto-rename double-episode bug and add 62 rename tests 2026-02-28 06:34:46 +01:00
.gitignore Migrate app to Node Electron with modern React UI 2026-02-27 03:25:56 +01:00
package-lock.json Release v1.4.19 with 4SF/4SJ auto-rename support 2026-02-28 05:50:14 +01:00
package.json Fix electron-builder: remove type:module, use vite.config.mts instead 2026-02-28 06:28:45 +01:00
README.md Remove legacy Python artifacts from repository 2026-02-27 16:32:01 +01:00
tsconfig.json Migrate app to Node Electron with modern React UI 2026-02-27 03:25:56 +01:00
vite.config.mts Fix electron-builder: remove type:module, use vite.config.mts instead 2026-02-28 06:28:45 +01:00
vitest.config.ts Migrate app to Node Electron with modern React UI 2026-02-27 03:25:56 +01:00

Real-Debrid Download Manager (Node/Electron)

Desktop-App auf Node.js + Electron + React + TypeScript mit JDownloader-Style Workflow, optimiert fuer Real-Debrid.

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

Voraussetzungen

  • Node.js 20+ (empfohlen 22+)
  • Windows 10/11 (fuer Release-Build)
  • Optional: 7-Zip/UnRAR fuer RAR/7Z Entpacken

Installation

npm install

Entwicklung

npm run dev

Build

npm run build

Danach liegen die Artefakte in:

  • build/main
  • build/renderer

Start (Production lokal)

npm run start

Tests

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)

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

Hinweise

  • 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.