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:
- Laden Sie die neueste Version von der Release-Seite herunter
- Entpacken Sie die ZIP-Datei in ein Verzeichnis Ihrer Wahl
- 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:
- Voraussetzungen:
- Java 17 oder höher (OpenJDK oder Oracle JDK)
- Maven 3.8 oder höher
- Klonen Sie das Repository:
git clone https://github.com/GulfGulfinson/fileVault.git cd fileVault
- Bauen Sie das Projekt mit Maven:
mvn clean package
- 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 DokumentationWichtige 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 ansehenProjektzusatzdokumente
Hilfreiche Dokumente zum FileVault-Projekt:
- Beitragsrichtlinien - Wie Sie zum Projekt beitragen können
- Verhaltenskodex - Richtlinien für die Community
- Sicherheitsrichtlinien - Meldung von Sicherheitslücken
- Lizenz - MIT-Lizenz für FileVault