Desktop-Anwendung zum gleichzeitigen Hochladen auf mehrere File-Hoster
doodstream-upload.js's _debugLog ran with NO verbose gate: every call did a synchronous statSync (via maybeRotateLogFile) + appendFileSync directly on the main-process event loop, ~8-15x per upload (server probe, response, redirect, result page, filecode parse, hidden fields, submit/follow, plus retry branches). DoodstreamUploader runs in the main process, so each pair of sync fs syscalls blocked the event loop while uploading — delaying IPC, upload-progress-batch forwarding, tray-tooltip and webhook handling for every other concurrent upload. A constant per-upload main-thread tax (not history-scaling), surfaced by the session-wide lag audit and confirmed as the one finding that bites in the real upload scenario. Fix: gate _debugLog behind the existing globalSettings.logVerbose setting (default false), exactly mirroring main.js logDebug/_logVerbose. A module-level _debugVerbose flag + setDebugVerbose() setter, an early-return at the top of _debugLog, and one wire at main.js's single setLogVerbose chokepoint (covers boot + save-config + the verbose toggle). When verbose is off the doodstream trace simply isn't written — same contract as the main debug.log — and the per-upload sync fs disappears. When a doodstream issue needs tracing, enabling verbose restores the full trace. The config-store audit findings (load() history-clone cost, per-write history serialize) are real but scale only with history size — tens of microseconds at this user's 8-batch config, and the safe fix is risky persistence surgery on credential-bearing code for a latent micro-cost; deferred and documented in tasks/todo.md rather than shipped. 397/397 tests pass, eslint clean, gate wiring verified (shared module instance, default-off, toggles). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| assets | ||
| docs | ||
| gateway | ||
| lib | ||
| renderer | ||
| scripts | ||
| tasks | ||
| tests | ||
| .gitignore | ||
| app.py | ||
| eslint.config.mjs | ||
| hosters.py | ||
| main.js | ||
| package-lock.json | ||
| package.json | ||
| preload-drop-target.js | ||
| preload.js | ||
| README.md | ||
| requirements.txt | ||
Multi-Hoster-Upload
Desktop-Anwendung zum gleichzeitigen Hochladen von Dateien auf mehrere File-Hosting-Dienste.
Unterstuetzte Hoster
- doodstream.com - API-Key basiert
- voe.sx - API-Key basiert
- vidmoly.me - Login basiert (Username/Passwort)
- byse.sx - API-Key basiert
Installation
Setup (empfohlen)
Lade die Multi-Hoster-Upload Setup X.X.X.exe aus den Releases herunter und installiere.
Portable
Lade die Multi-Hoster-Upload X.X.X.exe herunter. Keine Installation noetig.
Entwicklung
npm install
npm start
Build
npm run release:win
Erzeugt Setup + Portable EXE im release/ Ordner.
Release
GITEA_TOKEN=dein_token npm run release:gitea -- 1.0.1 "Release notes"
Features
- Drag & Drop oder Dateiauswahl
- Gleichzeitiger Upload zu mehreren Hostern
- Echtzeit-Fortschrittsanzeige
- Ergebnis-Tabelle mit Sortierung und Kopier-Funktion
- Upload-Verlauf (letzte 100 Eintraege)
- Health-Check fuer Hoster-Verbindungen
- Auto-Updater (prueft git.24-music.de)
- Log-Datei kompatibel mit File & Image Uploader Format