Release v1.5.73

- Show full passwords (unmasked) in extraction logs for easier debugging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe 2026-03-03 21:55:36 +01:00
parent 7029271999
commit af6eea8253
2 changed files with 7 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "real-debrid-downloader", "name": "real-debrid-downloader",
"version": "1.5.72", "version": "1.5.73",
"description": "Real-Debrid Downloader Desktop (Electron + React + TypeScript)", "description": "Real-Debrid Downloader Desktop (Electron + React + TypeScript)",
"main": "build/main/main/main.js", "main": "build/main/main/main.js",
"author": "Sucukdeluxe", "author": "Sucukdeluxe",

View File

@ -1266,8 +1266,8 @@ async function runExternalExtract(
} }
logger.warn(`JVM-Extractor nicht verfügbar, nutze Legacy-Extractor: ${path.basename(archivePath)}`); logger.warn(`JVM-Extractor nicht verfügbar, nutze Legacy-Extractor: ${path.basename(archivePath)}`);
} else { } else {
const maskedPasswords = passwordCandidates.map((p) => p === "" ? '""' : `"${p.slice(0, 2)}${"*".repeat(Math.max(0, p.length - 2))}"`); const quotedPasswords = passwordCandidates.map((p) => p === "" ? '""' : `"${p}"`);
logger.info(`JVM-Extractor aktiv (${layout.rootDir}): ${path.basename(archivePath)}, ${passwordCandidates.length} Passwörter: [${maskedPasswords.join(", ")}]`); logger.info(`JVM-Extractor aktiv (${layout.rootDir}): ${path.basename(archivePath)}, ${passwordCandidates.length} Passwörter: [${quotedPasswords.join(", ")}]`);
const jvmResult = await runJvmExtractCommand( const jvmResult = await runJvmExtractCommand(
layout, layout,
archivePath, archivePath,
@ -1356,8 +1356,8 @@ async function runExternalExtractInner(
const passwords = passwordCandidates; const passwords = passwordCandidates;
let lastError = ""; let lastError = "";
const maskedPasswords = passwords.map((p) => p === "" ? '""' : `"${p.slice(0, 2)}${"*".repeat(Math.max(0, p.length - 2))}"`); const quotedPasswords = passwords.map((p) => p === "" ? '""' : `"${p}"`);
logger.info(`Legacy-Extractor: ${path.basename(archivePath)}, ${passwords.length} Passwörter: [${maskedPasswords.join(", ")}]`); logger.info(`Legacy-Extractor: ${path.basename(archivePath)}, ${passwords.length} Passwörter: [${quotedPasswords.join(", ")}]`);
let announcedStart = false; let announcedStart = false;
let bestPercent = 0; let bestPercent = 0;
@ -1373,8 +1373,8 @@ async function runExternalExtractInner(
onArchiveProgress?.(0); onArchiveProgress?.(0);
} }
passwordAttempt += 1; passwordAttempt += 1;
const maskedPw = password === "" ? '""' : `"${password.slice(0, 2)}${"*".repeat(Math.max(0, password.length - 2))}"`; const quotedPw = password === "" ? '""' : `"${password}"`;
logger.info(`Legacy-Passwort-Versuch ${passwordAttempt}/${passwords.length} für ${path.basename(archivePath)}: ${maskedPw}`); logger.info(`Legacy-Passwort-Versuch ${passwordAttempt}/${passwords.length} für ${path.basename(archivePath)}: ${quotedPw}`);
let args = buildExternalExtractArgs(command, archivePath, targetDir, conflictMode, password, usePerformanceFlags, hybridMode); let args = buildExternalExtractArgs(command, archivePath, targetDir, conflictMode, password, usePerformanceFlags, hybridMode);
let result = await runExtractCommand(command, args, (chunk) => { let result = await runExtractCommand(command, args, (chunk) => {
const parsed = parseProgressPercent(chunk); const parsed = parseProgressPercent(chunk);