Chat Vault เป็นแอปพลิเคชัน Kotlin Spring Boot ที่ออกแบบมาเพื่อจัดเก็บข้อมูลสำรองของการสนทนา WhatsApp จากแหล่งต่างๆ เช่น การนำเข้า API อีเมล และการตรวจสอบไดเรกทอรี และช่วยให้เข้าถึงการสนทนาเหล่านี้ได้อย่างง่ายดายผ่านส่วนหน้าที่คล้ายกับแอปพลิเคชันแชท เช่น WhatsApp
โครงการนี้ยังอยู่ในการพัฒนา และฟีเจอร์บางอย่างอาจยังใช้งานไม่เต็มที่
โปรดอ่านคำถามที่พบบ่อยอย่างเป็นทางการของ Whatsapp
ด้วยไฟล์ที่นำเข้า เพื่อนำเข้าสู่ ChatVault คุณสามารถ:
พื้นที่เก็บข้อมูลนี้แบ่งออกเป็นสองโมดูลหลัก พวกมันคือโมดูล: ส่วนหน้า (javascript, vue, nuxt) และแบ็กเอนด์ (kotlin, java, spring boot, gradle)
โมดูลส่วนหน้าคือแอปพลิเคชัน Vue/Nuxt และทำหน้าที่ในสิ่งที่เบราว์เซอร์จะเรนเดอร์: html, css, javascript และสินทรัพย์แบบคงที่ หากต้องการรันด้วยวิธีทั่วไปด้วยคำสั่ง npm ให้ทำตาม Readme ในไดเร็กทอรีส่วนหน้า
คุณสามารถรันด้วย npm:
npm run dev
แอปพลิเคชันส่วนหน้าจะฟังบนพอร์ต 3000 ตามค่าเริ่มต้น เว้นแต่คุณจะเรียกใช้แอปพลิเคชันส่วนหลังมาก่อน (ส่วนหลังจะฟังบน 8080) ซึ่งในกรณีนี้ ส่วนหน้าจะรับพอร์ตแบบสุ่ม
คุณสามารถเรียกใช้แอปพลิเคชันแบ็กเอนด์ได้โดยไม่ต้องใช้ IDE:
./gradlew run
แอปพลิเคชันแบ็กเอนด์จะฟังพอร์ต 8080 ตามค่าเริ่มต้น
โปรดทราบว่าการดาวน์โหลดอิมเมจคอนเทนเนอร์อาจทำให้คุณต้องตรวจสอบสิทธิ์ตามขั้นตอน GitHub Container Registry ที่นี่ คุณสามารถใช้ compose.yml เพื่อสร้างฐานข้อมูลและสร้างโปรเจ็กต์ส่วนหน้าและส่วนหลังในเครื่องได้
docker-compose -f compose.yml
มีแพ็คเกจรูปภาพนักเทียบท่าบน github คุณสามารถดาวน์โหลดภาพล่าสุดด้วย:
docker pull ghcr.io/vitormarcal/chatvault:latest
แอปจำเป็นต้องจัดเก็บไฟล์แชทไว้ในระบบไฟล์ สำหรับการใช้งาน Docker โปรดดูที่ส่วนตัวแปรสภาพแวดล้อม
chatvault.bucket.root
: นี่คือโวลุ่มที่ใช้จัดเก็บไฟล์ของคุณ อย่าลบสิ่งนี้!chatvault.bucket.import
: วอลุ่มนี้ใช้ชั่วคราวเพื่อจัดเก็บไฟล์แชทที่แอปจะแยกวิเคราะห์ จากนั้นจึงย้ายไปที่ bucket.rootchatvault.bucket.export
: โวลุ่มนี้ใช้ชั่วคราวเพื่อจัดเก็บแชทที่จะดาวน์โหลด สำหรับนักเทียบท่า ตัวแปรจะต้องเป็นตัวพิมพ์ใหญ่และอยู่ที่ไหน "." ต้องเป็น "_": some.environment.variable
เหมือนกับ SOME_ENVIRONMENT_VARIABLE
ใน docker
ตัวแปรสภาพแวดล้อม | obs | ตัวอย่าง |
---|---|---|
ฐานข้อมูล | ที่จำเป็น | |
spring.datasource.url | ที่จำเป็น | jdbc:postgresql://database_host:5432/database_name |
spring.datasource.ชื่อผู้ใช้ | ที่จำเป็น | ผู้ใช้ |
spring.datasource.password | ที่จำเป็น | ความลับ |
- | - | - |
การนำเข้าอีเมล | ไม่จำเป็นต้องสำเร็จ | |
chatvault.email.enabled | ไม่จำเป็น | จริง |
chatvault.email.host | จำเป็นต้องแสดง | imap.server.com |
chatvault.email.password | จำเป็นต้องแสดง | ความลับ |
chatvault.email.port | จำเป็นต้องแสดง | 993 |
chatvault.email.ชื่อผู้ใช้ | จำเป็นต้องแสดง | ผู้ใช้บางคน |
chatvault.email.debug | ไม่จำเป็น | จริง |
- | - | |
ระบบไฟล์ | ไม่จำเป็น | |
chatvault.bucket.root | ไม่จำเป็น | /opt/chatvault/archive |
chatvault.bucket.import | ไม่จำเป็น | /opt/chatvault/import |
chatvault.bucket.export | ไม่จำเป็น | /opt/chatvault/export |
- | - | |
chatvault.host | ไม่จำเป็น | https://somehost.com ,http://localhost:3000 |
spring.servlet.multipart.max-ขนาดไฟล์ | ไม่จำเป็น | 500MB |
spring.servlet.multipart.max-ขนาดคำขอ | ไม่จำเป็น | 500MB |
chatvault.msgparser.dateformat | ไม่จำเป็นแต่แนะนำ | วว/ดด/ปปปป HH:mm |