Skip to content

Latest commit

 

History

89 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SharePassword

Selbst-gehostetes One-Time-Secret-Tool von BYTEXX IT. Ende-zu-Ende-verschlüsselt im Browser — der Server sieht den Klartext zu keinem Zeitpunkt.

Features

Sicherheit

  • AES-256-GCM im Browser via Web Crypto API — Schlüssel landet ausschließlich im URL-Fragment (#…) und wird nie an den Server gesendet
  • Optionale Passphrase (PBKDF2-SHA256, 600 000 Iterationen) als zweite Verschlüsselungsschicht
  • One-Time-Read oder Ablaufzeit (1 h / 1 Tag / 1 Woche / 30 Tage)
  • HMAC-SHA256-IP-Hash für Brute-Force-Schutz — Klartext-IP wird nie gespeichert
  • Rate-Limits, 24-Geheimnisse-pro-IP-Tageslimit, Honeypot (autofill-resistent), Brute-Force-Lock nach 5 Passphrase-Fehlversuchen
  • Optional Cloudflare Turnstile (plug-and-play via .env)
  • Strikte CSP, HSTS, X-Frame-Options DENY, kein Tracking, keine Drittanbieter-Inhalte

UX

  • Multi-File-Upload bis 25 MB gesamt — Drag & Drop oder Klick, mit Live-Größencounter und Einzeldatei-Entfernen
  • Passphrase-Generator: 12-Zeichen-Vorschlag im UI mit „Übernehmen"- und „Neu"-Button (kuratiertes Zeichen-Set ohne verwechselbare Zeichen 0/O/1/l/I), plus Anzeigen/Verbergen-Toggle am Eingabefeld
  • „Per E-Mail teilen"-Button öffnet das Mailprogramm mit vorausgefülltem Body inkl. Link, Ablauf, Hinweistext, persönlicher Anrede (Sender-/Empfänger-Name optional)
  • E-Mail-Benachrichtigung an den Absender beim ersten Abruf
  • BYTEXX Corporate Identity — Lato-Schrift, BYTEXX-Blau + Orange, animierter Hexagon-Hintergrund, Glaseffekt-Cards
  • Light/Dark-Mode mit Theme-Toggle (Default Dark)
  • Deutsch + Englisch über Sprach-Toggle, JSON-basiertes i18n

Lokal entwickeln

git clone https://github.com/devbytexx/SharePassword.git
cd SharePassword
npm install
cp .env.example .env       # Werte ausfüllen
npm start

Ohne MariaDB lokal? In der .env SP_NO_DB=1 setzen — dann läuft ein In-Memory-Storage (nur Dev, keine Persistenz).

Tests

npm test                   # 19 Tests ohne DB
SP_TEST_DB=1 npm test      # alle 28 Tests gegen ein lokales MariaDB-Test-Schema

Deployment

Bare-metal auf Debian-/Ubuntu-Server mit nginx + MariaDB + systemd, ohne Docker. Schritt-für-Schritt-Anleitung im Wiki (interne BYTEXX-Doku).

Kurzfassung:

  1. apt install -y git nodejs (Node ≥ 20)
  2. useradd --system sharepass, Verzeichnisse anlegen, git clone, npm ci --omit=dev
  3. MariaDB-Schema aus sql/001-init.sql einspielen, User aus sql/002-grants.sql.example anlegen
  4. .env befüllen (mode 0600), systemd-Unit aus deploy/systemd/ aktivieren
  5. nginx-vhost aus deploy/nginx/ einspielen, Let's-Encrypt-Zertifikat besorgen
  6. Backup-Script muss --ignore-table=sharepassword.secrets enthalten (Ephemeralität!)

Lizenz

Proprietär — © BYTEXX IT, Inh. Rico Becker. Quellcode öffentlich zur Transparenz und zur Nachvollziehbarkeit der Sicherheitsversprechen; produktive Nutzung außerhalb von BYTEXX bitte vorher anfragen unter info@bytexx.de.

About

Website um Geheimnisse zu teilen

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages