release: v2.1.12 reliability and security hardening
Verify update artifacts with exact metadata and SHA-512, require host-confirmed upload completion before cleanup, harden credentials and backups, improve queue recovery and skipped-state reporting, expand Windows path coverage, and add CI packaging checks.
This commit is contained in:
@@ -188,6 +188,9 @@
|
||||
['Nach Abschluss aus der Liste entfernen', 'Remove from the list after completion'],
|
||||
['Erfolgreich hochgeladene Dateien verschwinden automatisch aus der Upload-Liste.', 'Successfully uploaded files are automatically removed from the upload list.'],
|
||||
['Warteschlange beim Start wiederherstellen', 'Restore queue on startup'],
|
||||
['Wiederhergestellte Warteschlange automatisch starten', 'Start restored queue automatically'],
|
||||
['Startet wartende Uploads nach einem sichtbaren, abbrechbaren Countdown. Fehler und übersprungene Einträge bleiben unangetastet.', 'Starts waiting uploads after a visible, cancelable countdown. Failed and skipped entries remain untouched.'],
|
||||
['Warte auf Account-Prüfung…', 'Waiting for account check…'],
|
||||
['Noch nicht abgeschlossene Uploads werden beim nächsten Programmstart erneut angezeigt.', 'Incomplete uploads are shown again the next time the application starts.'],
|
||||
['Quelldateien', 'Source files'],
|
||||
['Quelldatei nach vollständigem Upload dauerhaft löschen', 'Permanently delete source file after complete upload'],
|
||||
@@ -223,6 +226,7 @@
|
||||
['Verhalten', 'Behavior'],
|
||||
['Aktiviert', 'Enabled'],
|
||||
['Unterordner einbeziehen', 'Include subfolders'],
|
||||
['Vorhandene Dateien einmalig einlesen', 'Import existing files once'],
|
||||
['Duplikate überspringen', 'Skip duplicates'],
|
||||
['Auto-Upload starten', 'Start uploads automatically'],
|
||||
['Hoster-Vorauswahl', 'Host preselection'],
|
||||
@@ -277,10 +281,18 @@
|
||||
['Online importieren', 'Import online'],
|
||||
['Behandle den Schlüssel wie ein Passwort. Wer ihn besitzt, kann die verschlüsselten Einstellungen entschlüsseln.', 'Treat the key like a password. Anyone who has it can decrypt the encrypted settings.'],
|
||||
['Lokales Datei-Backup', 'Local file backup'],
|
||||
['Mit eigenem Passwort schützen', 'Protect with your own password'],
|
||||
['Ohne dieses Passwort kann das Backup nicht importiert werden.', 'The backup cannot be imported without this password.'],
|
||||
['Passwort (mindestens 8 Zeichen)', 'Password (at least 8 characters)'],
|
||||
['Passwort wiederholen', 'Repeat password'],
|
||||
['Das Backup-Passwort muss mindestens 8 Zeichen lang sein.', 'The backup password must be at least 8 characters long.'],
|
||||
['Die beiden Backup-Passwörter stimmen nicht überein.', 'The two backup passwords do not match.'],
|
||||
['Passwort prüfen', 'Check password'],
|
||||
['Datei exportieren', 'Export file'],
|
||||
['Datei importieren', 'Import file'],
|
||||
['Alle Uploads', 'All uploads'],
|
||||
['Erfolgreich', 'Successful'],
|
||||
['Ergebnis', 'Result'],
|
||||
['Aktive Regel', 'Active rule'],
|
||||
['Alles behalten', 'Keep everything'],
|
||||
['Links wiederfinden, kopieren oder als Datei exportieren.', 'Find links, copy them, or export them as a file.'],
|
||||
@@ -311,6 +323,7 @@
|
||||
['Wartende Uploads anzeigen', 'Show queued uploads'],
|
||||
['Fertige Uploads anzeigen', 'Show completed uploads'],
|
||||
['Fehlgeschlagene Uploads anzeigen', 'Show failed uploads'],
|
||||
['Übersprungene Uploads anzeigen', 'Show skipped uploads'],
|
||||
['Alle Uploads starten', 'Start all uploads'],
|
||||
['Ausgewählte Uploads starten', 'Start selected uploads'],
|
||||
['Ausgewählte Datei erneut hochladen', 'Upload selected file again'],
|
||||
@@ -454,6 +467,20 @@
|
||||
['Keine gültige .mhu Backup-Datei', 'Not a valid .mhu backup file'],
|
||||
['Falsches Passwort oder beschädigte Datei', 'Incorrect password or damaged file'],
|
||||
['Dieses Backup wurde mit einem Passwort verschlüsselt', 'This backup was encrypted with a password'],
|
||||
['Das Backup-Passwort darf nicht leer sein', 'The backup password must not be empty'],
|
||||
['Das Backup-Passwort muss zwischen 8 und 1024 Zeichen lang sein', 'The backup password must be between 8 and 1024 characters long'],
|
||||
['Passwortgeschützte Backups müssen als .mhu gespeichert werden', 'Password-protected backups must be saved as .mhu files'],
|
||||
['Sicherer Zugangsdaten-Speicher ist nicht verfügbar', 'Secure credential storage is unavailable'],
|
||||
['Zugangsdaten konnten nicht sicher verschlüsselt werden', 'Credentials could not be encrypted securely'],
|
||||
['Gespeicherte Zugangsdaten konnten nicht entschlüsselt werden', 'Stored credentials could not be decrypted'],
|
||||
['Zugangsdaten gesperrt', 'Credentials locked'],
|
||||
['Unsichere Klartext-Speicherung erlauben', 'Allow insecure plaintext storage'],
|
||||
['Nur verwenden, wenn der sichere Betriebssystem-Speicher dauerhaft nicht verfügbar ist. Passwörter und API-Keys liegen dann lesbar in der Konfigurationsdatei.', 'Use only when secure operating system storage is permanently unavailable. Passwords and API keys will then be readable in the configuration file.'],
|
||||
['Sicher verfügbar', 'Securely available'],
|
||||
['Nicht verfügbar', 'Unavailable'],
|
||||
['Zugangsdaten unverschlüsselt speichern?', 'Store credentials without encryption?'],
|
||||
['Passwörter und API-Keys werden dann im Klartext auf diesem PC gespeichert. Andere Benutzer oder Programme mit Dateizugriff können sie lesen.', 'Passwords and API keys will then be stored as plaintext on this PC. Other users or programs with file access can read them.'],
|
||||
['Klartext-Speicherung erlauben', 'Allow plaintext storage'],
|
||||
['Die Verlaufsdatei ist beschädigt und wurde nicht verändert', 'The history file is damaged and was not changed'],
|
||||
['Verlauf und Aufbewahrung konnten nicht konsistent gespeichert werden', 'History and retention could not be saved consistently'],
|
||||
['Kein Ordnerpfad angegeben', 'No folder path was provided'],
|
||||
@@ -488,6 +515,14 @@
|
||||
['SHA-512 Prüfung fehlgeschlagen', 'SHA-512 verification failed'],
|
||||
['Vorbereitetes Update ist unvollständig', 'The prepared update is incomplete'],
|
||||
['Kein Setup-Asset im Release gefunden', 'No setup asset was found in the release'],
|
||||
['Prüfsummen-Metadaten fehlen', 'Checksum metadata is missing'],
|
||||
['Prüfsummen-Metadaten sind unvollständig', 'Checksum metadata is incomplete'],
|
||||
['Prüfsummen-Metadaten enthalten keine gültige SHA-512-Prüfsumme', 'Checksum metadata does not contain a valid SHA-512 checksum'],
|
||||
['Prüfsummen-Metadaten gehören zu einer anderen Version', 'Checksum metadata belongs to a different version'],
|
||||
['Prüfsummen-Metadaten gehören nicht zum ausgewählten Installer', 'Checksum metadata does not belong to the selected installer'],
|
||||
['Prüfsummen-Metadaten enthalten eine abweichende Dateigröße', 'Checksum metadata contains a different file size'],
|
||||
['Heruntergeladene Datei hat eine abweichende Größe', 'The downloaded file has a different size'],
|
||||
['Die installierte Anwendung ist nicht gültig digital signiert', 'The installed application is not validly digitally signed'],
|
||||
['Download hängt — seit 45 s keine Daten (Netzwerk/Server überlastet). Bitte laufende Uploads stoppen und erneut versuchen.', 'The download stalled because no data was received for 45 seconds. Stop active uploads and try again.'],
|
||||
['Datei nicht gefunden', 'File not found'],
|
||||
['Netzwerkfehler', 'Network error'],
|
||||
@@ -592,6 +627,7 @@
|
||||
const patterns = target === 'en'
|
||||
? [
|
||||
[/^Update v(.+) verfügbar$/, 'Update v$1 available'],
|
||||
[/^Wiederhergestellte Warteschlange startet in (.+) s \((.+) Jobs\)\.$/, 'Restored queue starts in $1 s ($2 jobs).'],
|
||||
[/^Login ok, Upload-Form bereit \(Dateifeld: (.+)\)$/, 'Login successful, upload form ready (file field: $1)'],
|
||||
[/^Klartext-Backup ist kein gültiges JSON: (.+)$/, 'Plain JSON backup is not valid JSON: $1'],
|
||||
[/^Export fehlgeschlagen: (.+)$/, 'Export failed: $1'],
|
||||
@@ -619,6 +655,8 @@
|
||||
[/^VOE Upload-Fehler: (.+)$/, 'VOE upload error: $1'],
|
||||
[/^VOE: Upload-Server Antwort war kein JSON: (.+)$/, 'VOE: The upload server response was not JSON: $1'],
|
||||
[/^Download fehlgeschlagen: (.+)$/, 'Download failed: $1'],
|
||||
[/^Prüfsummen-Metadaten konnten nicht geladen werden: (.+)$/, 'Checksum metadata could not be loaded: $1'],
|
||||
[/^Upload zu (.+) wurde nicht bestätigt$/, 'The upload to $1 was not confirmed'],
|
||||
[/^Update-Server Antwort war kein JSON (.+)$/, 'Update server response was not JSON $1'],
|
||||
[/^(\d+) Links kopiert$/, '$1 links copied'],
|
||||
[/^(\d+) Link kopiert$/, '$1 link copied'],
|
||||
|
||||
Reference in New Issue
Block a user