FileVault Dokumentation

Umfassende Anleitung zur Verwendung und Konfiguration

Installation

FileVault kann auf zwei Hauptwegen installiert werden - entweder durch Herunterladen der neuesten Version oder durch direktes Bauen aus dem Quellcode:

Option 1: Release herunterladen

Die einfachste Methode, FileVault zu nutzen:

  1. Laden Sie die neueste Version von der Release-Seite herunter
  2. Entpacken Sie die ZIP-Datei in ein Verzeichnis Ihrer Wahl
  3. Starten Sie die Anwendung mit dem passenden Skript:
    ./start.sh    # Für Linux/Mac
    start.bat     # Für Windows

Option 2: Aus dem Quellcode bauen

Um FileVault direkt vom Quellcode zu installieren:

  1. Voraussetzungen:
    • Java 17 oder höher (OpenJDK oder Oracle JDK)
    • Maven 3.8 oder höher
  2. Klonen Sie das Repository:
    git clone https://github.com/GulfGulfinson/fileVault.git
    cd fileVault
  3. Bauen Sie das Projekt mit Maven:
    mvn clean package
  4. Starten Sie die Anwendung mit einem der beiden Wege:
    # Methode 1: Start-Skript verwenden
    ./start.sh    # Für Linux/Mac
    start.bat     # Für Windows
    
    # Methode 2: Direktes Starten mit Maven
    mvn javafx:run

Bei der ersten Ausführung wird automatisch ein neuer Benutzer angelegt. Wenn Sie einen neuen Benutzer erstellen möchten, löschen Sie einfach die Datenbank-Datei (~/.filevault/vault.db).

Zukünftige Installationsmethoden

Die folgenden Methoden werden in naher Zukunft implementiert:

Docker Container

✓ Verfügbar - Hinweis: Nur die API ist im Docker-Container funktionsfähig

docker pull ghcr.io/GulfGulfinson/fileVault:latest
docker run -v ~/.filevault:/root/.filevault -p 9090:9090 ghcr.io/GulfGulfinson/fileVault:latest

Maven Dependency über GitHub Packages

⚠️ In Entwicklung

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/GulfGulfinson/fileVault</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.filevault</groupId>
    <artifactId>FileVault</artifactId>
    <version>1.0.0</version>
</dependency>

WebAssembly (Browser-Version)

⚠️ In Entwicklung

Eine Demo-Version ist bereits auf der Startseite verfügbar.

Ausführung nach der Installation

Nach der Installation können Sie FileVault starten mit:

java -jar FileVault-shaded.jar

Oder für den Headless-API-Modus:

java -jar FileVault-shaded.jar --api-port=9090

Systemanforderungen

  • Java 17 oder höher
  • 4 GB RAM (empfohlen: 8 GB)
  • 50 MB freier Festplattenspeicher für die Anwendung
  • Zusätzlicher Speicherplatz für verschlüsselte Dateien

Verwendung

Nach dem Start der Anwendung können Sie folgende Aktionen durchführen:

Erster Start

Bei der ersten Ausführung werden Sie aufgefordert, ein Passwort zu erstellen. Dieses Passwort wird zur Verschlüsselung Ihrer Dateien verwendet.

Ordner erstellen

Klicken Sie auf "Neuer Ordner" und geben Sie einen Namen ein, um einen virtuellen Ordner zu erstellen. Sie können eine hierarchische Struktur erstellen, indem Sie Unterordner anlegen.

Dateien importieren

Wählen Sie einen Ordner aus und klicken Sie auf "Datei importieren", um eine Datei zu verschlüsseln und in den Tresor zu importieren. Die Originaldatei bleibt unverändert.

Dateien exportieren

Wählen Sie eine Datei aus und klicken Sie auf "Exportieren", um die Datei zu entschlüsseln und an einem gewünschten Ort zu speichern. Sie können dabei einen neuen Dateinamen wählen.

Dateien und Ordner umbenennen

Rechtsklick auf eine Datei oder einen Ordner und Auswahl von "Umbenennen" ermöglicht das Ändern des Namens.

Dateien und Ordner löschen

Rechtsklick auf eine Datei oder einen Ordner und Auswahl von "Löschen" entfernt das Element aus dem Tresor.

Technische Details

Verschlüsselung

  • Algorithmus: AES-256-GCM (Galois/Counter Mode)
  • Schlüsselableitung: PBKDF2 mit HMAC-SHA256
  • Schlüssellänge: 256 Bit
  • Iterationen: 65.536
  • IV-Länge: 96 Bit
  • Authentifizierungs-Tag: 128 Bit

Datenspeicherung

Die verschlüsselten Dateien werden in ~/.filevault/data/ gespeichert, während die Metadaten in einer SQLite-Datenbank unter ~/.filevault/vault.db abgelegt werden. Die Pfade werden automatisch an das jeweilige Betriebssystem angepasst.

Benutzeroberfläche

Die Benutzeroberfläche basiert auf JavaFX und bietet sowohl ein helles als auch ein dunkles Thema. Das Design ist modern und benutzerfreundlich mit ansprechenden Animationen und Übergängen.

Systemanforderungen

  • Betriebssystem: Windows, macOS oder Linux
  • Java: Version 11 oder höher (empfohlen: Java 17 oder 21)
  • Arbeitsspeicher: Mindestens 256 MB freier RAM
  • Festplattenspeicher: Mindestens 50 MB für die Anwendung, plus Speicherplatz für Ihre verschlüsselten Dateien

API-Dokumentation

Die API-Dokumentation wird automatisch aus dem Quellcode generiert. Sie können die vollständige JavaDoc-Dokumentation im Verzeichnis docs/javadoc/ des Projekts finden.

Die REST-API-Dokumentation bietet eine Übersicht aller verfügbaren Endpunkte und Beispiele für deren Verwendung:

REST API Dokumentation

Wichtige Pakete in der FileVault-API:

  • com.filevault.controller: Anwendungscontroller für die Benutzeroberfläche
  • com.filevault.model: Datenmodelle für Dateien und Ordner
  • com.filevault.security: Verschlüsselungs- und Sicherheitsmechanismen
  • com.filevault.storage: Datenspeicherung und Datenbankzugriff
  • com.filevault.util: Hilfsklassen und Utilities

Für eine vollständige Übersicht der verfügbaren Klassen und Methoden besuchen Sie die JavaDoc-Dokumentation:

JavaDoc ansehen

Projektzusatzdokumente

Hilfreiche Dokumente zum FileVault-Projekt: