Monorepo für HaexVault Extensions - sichere, verschlüsselte Erweiterungen für deinen digitalen Tresor.
Haextension ist eine Sammlung von Extensions für HaexVault, die deine sensiblen Daten Ende-zu-Ende verschlüsselt verwalten. Alle Extensions nutzen das gleiche Sicherheitsmodell und die gemeinsame UI-Bibliothek haex-ui.
Hinweis: HaexPass wurde vollständig in HaexVault integriert und wird nicht mehr als separate Extension veröffentlicht. Das Verzeichnis
apps/haex-pass/bleibt nur als Archiv erhalten.
Browser-Extension für HaexPass zum automatischen Ausfüllen von Login-Formularen.
Features:
- Sichere WebSocket-Verbindung zu HaexVault
- Automatische Erkennung von Login-Formularen
- Ein-Klick Autofill
- Multi-Browser-Support (Chrome, Firefox, Chromium-basiert)
- Keine Datensammlung - alles bleibt lokal
Installation:
- Firefox: Firefox Add-ons
- Chrome/Chromium: Releases herunterladen und als "unpacked extension" laden
Ende-zu-Ende-verschlüsselter, geräteübergreifender Dateisync.
Geplante Features:
- E2E-verschlüsselter File-Sync
- Multi-Backend-Support (S3, Cloudflare R2, MinIO)
- Automatische Synchronisation
- Selective Sync für Mobile
- Konfliktfreier Multi-Device-Sync (CRDT)
haextension/
├── apps/
│ ├── haex-pass/ # Passwort-Manager Extension
│ ├── haex-pass-browser/ # Browser-Extension für Autofill
│ └── haex-files/ # File-Sync Extension (WIP)
└── packages/
└── haex-ui/ # Shared UI-Komponenten (shadcn-vue basiert)
- Node.js 18+ (22+ empfohlen)
- pnpm 9+
- Git
# Repository klonen
git clone https://github.com/haex-space/haextension.git
cd haextension
# Dependencies installieren
pnpm install# haex-pass entwickeln
pnpm --filter haex-pass dev
# haex-files entwickeln
pnpm --filter haex-files dev
# haex-pass-browser entwickeln (Chrome)
pnpm --filter haex-pass-browser dev
# haex-pass-browser entwickeln (Firefox)
pnpm --filter haex-pass-browser dev-firefox# haex-pass bauen und signieren
pnpm --filter haex-pass build:release
# haex-files bauen und signieren
pnpm --filter haex-files build:release
# haex-pass-browser für Chrome bauen
pnpm --filter haex-pass-browser build
pnpm --filter haex-pass-browser pack:zip
# haex-pass-browser für Firefox bauen
EXTENSION=firefox pnpm --filter haex-pass-browser build
pnpm --filter haex-pass-browser pack:xpi-
Installation:
- Öffne HaexVault auf deinem Gerät
- Navigiere zum Marketplace
- Installiere "HaexPass"
-
KeePass-Import:
- Öffne HaexPass in HaexVault
- Klicke auf "Importieren"
- Wähle deine
.kdbx-Datei - Gib das Master-Passwort ein
-
Einträge erstellen:
- Klicke auf "+" für einen neuen Eintrag
- Fülle Titel, Benutzername, Passwort aus
- Optional: URL, Notizen, TOTP hinzufügen
- Speichern
-
Suche:
- Nutze die Suchleiste für Fuzzy-Suche
- Tippe einen Teil des Titels oder Benutzernamens
-
Setup:
- Installiere die Browser-Extension (siehe oben)
- Starte HaexVault auf deinem Computer
- Klicke auf das HaexPass Icon in der Browser-Toolbar
-
Verbindung herstellen:
- Klicke "Verbinden" im Extension-Popup
- Bestätige die Verbindung in HaexVault
- Die Verbindung bleibt für zukünftige Sessions gespeichert
-
Autofill nutzen:
- Navigiere zu einer Login-Seite
- Klicke auf das HaexPass Icon im Eingabefeld
- Wähle den gewünschten Eintrag
- Benutzername und Passwort werden automatisch ausgefüllt
-
Einstellungen:
- Klicke auf das Zahnrad-Icon im Popup
- Sprache: Auto, Deutsch oder Englisch
- WebSocket-Port: Standard 19455 (nur ändern wenn nötig)
Hinweis: haex-files befindet sich noch in aktiver Entwicklung.
-
Sync-Regel erstellen:
- Öffne haex-files in HaexVault
- Wähle einen lokalen Ordner
- Konfiguriere das Storage-Backend (S3, R2, MinIO)
-
Backend-Konfiguration:
- Unterstützte Backends: S3, Cloudflare R2, MinIO
- Credentials werden verschlüsselt gespeichert
- Verbindungstest vor Aktivierung
Alle Extensions nutzen das HaexVault Security-Modell:
- Lokale Verschlüsselung: SQLCipher mit Vault-Passwort
- Sync-Verschlüsselung: Alle Daten werden vor dem Sync E2E-verschlüsselt
- Key-Hierarchie: Extension Master-Key → Space-Keys → File-Keys
- Zero-Knowledge: Server sieht niemals Klartext-Daten
Extensions können in zwei Modi laufen:
-
iframe-Modus (Mobile/Web):
- Extension läuft im iframe
- Kommunikation via
postMessage
-
Native WebView-Modus (Desktop):
- Extension in eigenem Tauri-Fenster
- Kommunikation via Tauri
invoke()
- Frontend: Vue 3, Nuxt 4, TypeScript
- UI: shadcn-vue, Tailwind CSS, Reka UI
- State: Pinia
- Build: Vite
- SDK: @haex-space/vault-sdk
- Backend: Rust (Tauri)
-
Neues Projekt erstellen:
mkdir apps/meine-extension cd apps/meine-extension npx nuxi init .
-
haex-ui einbinden:
# In package.json "dependencies": { "@haex-space/vault-sdk": "^2.5.34", "shadcn-nuxt": "2.3.2" }
-
Extension-Manifest:
mkdir haextension # haextension.config.json erstellen -
SDK nutzen:
import { useHaexVault } from '@haex-space/vault-sdk' const client = useHaexVault() // Datenbank-Operationen const results = await client.db.selectAsync({ sql: 'SELECT * FROM my_table' }) // Dateisystem const files = await client.filesystem.readDirAsync('/path')
# haex-pass Tests
pnpm --filter haex-pass test
# haex-files Tests
pnpm --filter haex-files test
# Alle Tests
pnpm testExtensions nutzen semantisches Versioning:
# Patch-Release (1.0.0 → 1.0.1)
pnpm --filter haex-pass build:patch
# Minor-Release (1.0.0 → 1.1.0)
pnpm --filter haex-pass build:minor
# Major-Release (1.0.0 → 2.0.0)
pnpm --filter haex-pass build:major- Fork das Repository
- Erstelle einen Feature-Branch (
git checkout -b feature/mein-feature) - Committe deine Änderungen (
git commit -m 'feat: Mein neues Feature') - Push zum Branch (
git push origin feature/mein-feature) - Erstelle einen Pull Request
feat:- Neue Featuresfix:- Bugfixeschore:- Maintenancedocs:- Dokumentationrefactor:- Code-Refactoring
MIT