Chat Vault ist eine Kotlin Spring Boot-Anwendung, die zum Speichern von Backups von WhatsApp-Konversationen aus verschiedenen Quellen, wie API-Importen, E-Mail und Verzeichnisüberwachung, entwickelt wurde und einen einfachen Zugriff auf diese Konversationen über ein Frontend ermöglicht, das einer Chat-Anwendung wie WhatsApp ähnelt.
Dieses Projekt befindet sich noch in der Entwicklung und einige Funktionen sind möglicherweise noch nicht vollständig implementiert.
Bitte lesen Sie die offiziellen WhatsApp-FAQ.
Um die importierte Datei in ChatVault aufzunehmen, können Sie:
Dieses Repository ist in zwei Hauptmodule unterteilt. Dies sind die Module: Frontend (Javascript, Vue, Nuxt) und Backend (Kotlin, Java, Spring Boot, Gradle)
Das Frontend-Modul ist eine Vue/Nuxt-Anwendung und dient dazu, was vom Browser gerendert wird: HTML, CSS, Javascript und statische Assets. Um die herkömmliche Methode mit npm-Befehlen auszuführen, folgen Sie der Readme-Datei im Frontend-Verzeichnis.
Sie können es mit npm ausführen:
npm run dev
Die Frontend-Anwendung überwacht standardmäßig Port 3000, es sei denn, Sie haben zuvor die Backend-Anwendung ausgeführt (das Backend überwacht 8080). In diesem Fall wählt das Frontend einen zufälligen Port aus.
Sie können die Backend-Anwendung ohne IDE ausführen:
./gradlew run
Die Backend-Anwendung überwacht standardmäßig den 8080-Port.
Beachten Sie, dass das Herunterladen von Container-Images möglicherweise eine Authentifizierung bei den hier aufgeführten GitHub-Container-Registrierungsschritten erfordert. Sie können compose.yml verwenden, um eine Datenbank zu erstellen und das Frontend- und Backend-Projekt lokal zu erstellen.
docker-compose -f compose.yml
Es gibt Docker-Image-Pakete auf Github. Sie können das neueste Bild herunterladen mit:
docker pull ghcr.io/vitormarcal/chatvault:latest
Die App erfordert das Speichern von Chatdateien im Dateisystem. Informationen zur Docker-Nutzung finden Sie im Abschnitt Umgebungsvariablen.
chatvault.bucket.root
: Dies ist das Volume, auf dem Ihre Dateien gespeichert werden. Löschen Sie dies nicht!chatvault.bucket.import
: Dieses Volume wird vorübergehend zum Speichern von Chatdateien verwendet, die von der App analysiert und dann nach Bucket.root verschoben werden sollen.chatvault.bucket.export
: Dieses Volume wird vorübergehend zum Speichern eines Chats verwendet, der heruntergeladen werden soll. Für Docker müssen die Variablen in Großbuchstaben angegeben werden und wobei „.“ steht. es muss „_“ sein: some.environment.variable
ist wie SOME_ENVIRONMENT_VARIABLE
in Docker
Umgebungsvariablen | obs | Beispiel |
---|---|---|
Datenbank | erforderlich | |
spring.datasource.url | erforderlich | jdbc:postgresql://database_host:5432/database_name |
spring.datasource.username | erforderlich | Benutzer |
spring.datasource.password | erforderlich | Geheimnis |
-------------------------- | -------------------------- | --------- |
E-Mail-Import | Kunststück nicht erforderlich | |
chatvault.email.enabled | nicht erforderlich | WAHR |
chatvault.email.host | erforderlich, um zu feat | imap.server.com |
chatvault.email.password | erforderlich, um zu feat | Geheimnis |
chatvault.email.port | erforderlich, um zu feat | 993 |
chatvault.email.username | erforderlich, um zu feat | irgendjemand |
chatvault.email.debug | nicht erforderlich | WAHR |
-------------------------- | -------------------------- | |
Dateisystem | nicht erforderlich | |
chatvault.bucket.root | nicht erforderlich | /opt/chatvault/archive |
chatvault.bucket.import | nicht erforderlich | /opt/chatvault/import |
chatvault.bucket.export | nicht erforderlich | /opt/chatvault/export |
-------------------------- | -------------------------- | |
chatvault.host | nicht erforderlich | https://somehost.com, http://localhost:3000 |
spring.servlet.multipart.max-file-size | nicht erforderlich | 500 MB |
spring.servlet.multipart.max-request-size | nicht erforderlich | 500 MB |
chatvault.msgparser.dateformat | nicht erforderlich, aber empfohlen | TT/MM/JJJJ HH:mm |