Commit Graph

7 Commits

Author SHA1 Message Date
Claude Code
e5f834c34a Web: Repo-Link mit Gitea-Logo im Footer + Coolify-Deploy (nginx)
- Footer der Web-App verlinkt aufs Gitea-Repo mit kleinem Gitea-Logo (inline SVG)
- Dockerfile (nginx:alpine) liefert web/ statisch aus -> Coolify Git-Deploy
- deploy/nginx.conf: CSP frame-ancestors erlaubt Einbettung als iframe nur von
  gaertner.onl; sw.js/manifest ungecacht; Dev-Artefakte (_*) werden geblockt

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 11:00:14 +00:00
Claude Code
7569cd3fab SPS3: Poly1305-Einmal-MAC + Public-Ready README/LICENSE
Authentifizierung für CLI und Web:
- Poly1305 (RFC 8439) pur in Python (bigint) und JS (BigInt), keine neue Dependency
- MAC-Schluessel pro Nachricht frisch aus dem Pad (len+32), encrypt-then-MAC
  ueber Header + Ciphertext; reveal lehnt manipulierte/desynchrone Bilder hart ab
- Stego-Format SPS2 -> SPS3 (16-B-Tag im Header); alte SPS2-Bilder werden noch
  gelesen, aber als unauthentifiziert markiert
- Service-Worker-Cache auf v3 gebumpt
- Interop-Runner (web/_interop_run.sh): RFC-Vektor cross-impl, beide Richtungen,
  Tamper-Erkennung

README fuer Public ueberarbeitet (ehrliches Bedrohungsmodell, Voraussetzungen,
Projektstruktur, Tests) + MIT-LICENSE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 10:46:04 +00:00
dac9550b46 CLI: -o optional, unauffaelliger Default-Dateiname wie im Web
hide ohne -o vergibt jetzt automatisch Screenshot_YYYYMMDD_HHMMSS.png
(gleiche Konvention wie das Web-Frontend). Expliziter -o-Name geht weiter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 22:12:15 +00:00
685a72ab89 Unauffaelliger Default-Dateiname mit Zeitstempel statt harmlos.png
Web-App vergibt beim Senden einen Screenshot-artigen Namen
(Screenshot_YYYYMMDD_HHMMSS.png) statt des verraeterischen harmlos.png.
Screenshot-Stil passt zum PNG-Format (echte Kamerafotos sind JPG).
Umstellbar ueber CARRIER_PREFIX. README-Beispiele nachgezogen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 22:08:22 +00:00
30127db247 v2: richtungsgetrennte Schluessel, Offset im Schluessel, PWA
- Neues Schluesselmodell: pro Beziehung zwei Stroeme (send.key/recv.key),
  Sende-Offset lebt im Schluessel-Header und wird beim Senden fortgeschrieben.
  Loest two-time-pad bei bidirektionaler Nutzung deterministisch.
- Stream-Identifier im Bild -> falscher Schluessel wird erkannt statt
  Kauderwelsch zu liefern. Rollen-Guards (send/recv) gegen Fehlbenutzung.
- CLI genkey erzeugt gerichtetes Keypaar (meine_seite/partner_seite).
- Web-App auf v2 umgestellt; Senden liefert aktualisierten send.key zum
  Download (Browser-Sandbox kann nicht auf den Stick schreiben).
- PWA: manifest + service worker (offline) + icons.
- Interop CLI<->Web in beide Richtungen per Node-Test abgesichert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 21:46:06 +00:00
ad0b309acf Weboberflaeche: self-contained, client-side, CLI-kompatibel
Eine einzelne index.html ohne Framework/CDN. Krypto + LSB-Steganografie
laufen komplett im Browser (iOS-tauglich). Format-identisch zum CLI;
Byte-Interop in beide Richtungen per Node-Test gegen das Python-CLI
abgesichert (laedt den Krypto-Kern direkt aus der ausgelieferten index.html).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 21:18:14 +00:00
d5e7c979d8 schattenpost: OTP + LSB-Steganografie
One-Time-Pad-Verschluesselung mit os.urandom-Pad, automatischer Schutz
gegen Pad-Wiederverwendung via Offset-Zaehler, LSB-Einbettung in Traegerfoto.
CLI mit genkey/hide/reveal, einzige Abhaengigkeit Pillow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 20:41:21 +00:00