import webpush from "web-push"; /** * VAPID-Schlüsselpaar für Web-Push erzeugen. * * npm run vapid * * Die Ausgabe kommt in die .env. Beide Schlüssel gehören ins Backup: * * * Der **öffentliche** wird dem Browser mitgegeben, wenn sich jemand für * Push anmeldet. Wechselt er, sind alle bestehenden Abos wertlos — jeder * müsste Push von Hand neu erlauben. Das merkt niemand von allein; die * Meldungen bleiben einfach aus. * * Der **private** signiert jede Nachricht an den Push-Dienst. Wer ihn hat, * kann im Namen dieser Installation Meldungen schicken. * * Erzeugt wird lokal, ohne Netzzugriff — es ist reine Kryptografie. */ const paar = webpush.generateVAPIDKeys(); console.log(` Schlüsselpaar erzeugt. Diese Zeilen in die .env übernehmen: WEBPUSH_ENABLED=true WEBPUSH_PUBLIC_KEY=${paar.publicKey} WEBPUSH_PRIVATE_KEY=${paar.privateKey} WEBPUSH_KONTAKT=mailto:kommandant@example.org Hinweis: Ein neuer öffentlicher Schlüssel macht alle bestehenden Push-Abos wertlos. Beide Schlüssel gehören deshalb ins Backup — nicht ins Git. `);