Web: aktualisierten send.key unter Originalnamen anbieten

Bisher hieß der Re-Download immer "send.key" -> überschrieb die (oft
beschreibend benannte, z.B. meine_seite__send.key) Quelldatei nicht. Jetzt wird
der Download-Name = Name der hochgeladenen Schlüsseldatei; der Link-Text nennt
ihn ebenfalls. SW-Cache v4 -> v5.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Claude Code
2026-07-15 11:43:59 +00:00
parent 426d57a2b1
commit 42929c92ae
2 changed files with 5 additions and 2 deletions

View File

@@ -357,6 +357,7 @@ if (typeof document !== 'undefined') (function () {
if (!$('s-key').files[0]) throw new Error('Bitte send.key wählen.');
if (!$('s-carrier').files[0]) throw new Error('Bitte Trägerbild wählen.');
const keyName = $('s-key').files[0].name || 'send.key';
const key = SP.parseKey(await readFile($('s-key').files[0]));
if (key.role !== SP.ROLE_SEND) throw new Error('Das ist ein Empfangsschlüssel. Zum Senden brauchst du deinen send.key.');
const plain = encTxt.encode(text);
@@ -382,7 +383,9 @@ if (typeof document !== 'undefined') (function () {
// Aktualisierter Sendeschlüssel (Offset um Nachricht+MAC fortgeschrieben)
const nextOff = key.sendOffset + need;
const newKey = SP.buildKey(SP.ROLE_SEND, key.streamId, nextOff, key.material);
const dk = $('s-dlkey'); dk.href = blobUrl(newKey); dk.style.display = 'block';
// Re-Download unter EXAKT dem hochgeladenen Namen -> überschreibt sauber.
const dk = $('s-dlkey'); dk.href = blobUrl(newKey); dk.download = keyName;
dk.textContent = `🔑 Aktualisierten ${keyName} speichern`; dk.style.display = 'block';
$('s-note').style.display = 'block';
show(st, 'ok', `Versteckt + authentifiziert. ${plain.length} B ab Offset ${key.sendOffset}. Neuer Offset: ${nextOff}.`);
}, 'image/png');

View File

@@ -1,7 +1,7 @@
/* schattenpost Service Worker — reines Offline-Caching der App-Shell.
Sendet NICHTS an einen Server. Cache-first, kein Netzwerk-Fallback nötig,
sobald die Shell einmal geladen ist. */
const CACHE = 'schattenpost-v4';
const CACHE = 'schattenpost-v5';
const SHELL = [
'./',
'./index.html',