Desktop downloader
- Fix ZIP path traversal vulnerability (reject entries escaping target dir) - Add single instance lock (prevent data corruption from multiple instances) - Add unhandled exception/rejection handlers (prevent silent crashes) - Fix mainWindow reference cleanup on close - Add second-instance handler to focus existing window - Fix claimTargetPath infinite loop (add 10k iteration bound) - Add duplicate startItem guard (prevent concurrent downloads of same item) - Clone session in getSnapshot to prevent live-reference mutation bugs - Clear stateEmitTimer on clearAll to prevent dangling timer emissions - Add extraction timeout safety (4h deadline with logging) - Add dedicated unrestrict retry system with longer backoff for Mega-Debrid errors - Add log rotation (10MB max, keeps one .old backup) - Fix writeExtractResumeState missing mkdir (prevents crash on deleted dirs) - Fix saveSessionAsync EXDEV cross-device rename with copy fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| assets | ||
| installer | ||
| scripts | ||
| src | ||
| tests | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
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
.dlcImport (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/mainbuild/renderer
Start (Production lokal)
npm run start
Tests
npm test
npm run self-check
npm test: Unit-Tests fuer Parser/Cleanup/Integritynpm 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 Logiksrc/preload: sichere IPC Bridgesrc/renderer: React UIsrc/shared: gemeinsame Typen und IPC-Channeltests: Unit- und Self-Check Tests
Hinweise
-
Runtime-Dateien liegen im Electron
userDataVerzeichnis:rd_downloader_config.jsonrd_session_state.jsonrd_downloader.log
-
Das Repository enthält jetzt nur noch die aktive Node/Electron-Codebasis.