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:
@@ -357,6 +357,7 @@ if (typeof document !== 'undefined') (function () {
|
|||||||
if (!$('s-key').files[0]) throw new Error('Bitte send.key wählen.');
|
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.');
|
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]));
|
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.');
|
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);
|
const plain = encTxt.encode(text);
|
||||||
@@ -382,7 +383,9 @@ if (typeof document !== 'undefined') (function () {
|
|||||||
// Aktualisierter Sendeschlüssel (Offset um Nachricht+MAC fortgeschrieben)
|
// Aktualisierter Sendeschlüssel (Offset um Nachricht+MAC fortgeschrieben)
|
||||||
const nextOff = key.sendOffset + need;
|
const nextOff = key.sendOffset + need;
|
||||||
const newKey = SP.buildKey(SP.ROLE_SEND, key.streamId, nextOff, key.material);
|
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';
|
$('s-note').style.display = 'block';
|
||||||
show(st, 'ok', `Versteckt + authentifiziert. ${plain.length} B ab Offset ${key.sendOffset}. Neuer Offset: ${nextOff}.`);
|
show(st, 'ok', `Versteckt + authentifiziert. ${plain.length} B ab Offset ${key.sendOffset}. Neuer Offset: ${nextOff}.`);
|
||||||
}, 'image/png');
|
}, 'image/png');
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* schattenpost Service Worker — reines Offline-Caching der App-Shell.
|
/* schattenpost Service Worker — reines Offline-Caching der App-Shell.
|
||||||
Sendet NICHTS an einen Server. Cache-first, kein Netzwerk-Fallback nötig,
|
Sendet NICHTS an einen Server. Cache-first, kein Netzwerk-Fallback nötig,
|
||||||
sobald die Shell einmal geladen ist. */
|
sobald die Shell einmal geladen ist. */
|
||||||
const CACHE = 'schattenpost-v4';
|
const CACHE = 'schattenpost-v5';
|
||||||
const SHELL = [
|
const SHELL = [
|
||||||
'./',
|
'./',
|
||||||
'./index.html',
|
'./index.html',
|
||||||
|
|||||||
Reference in New Issue
Block a user