Chat Vault هو تطبيق Kotlin Spring Boot مصمم لتخزين النسخ الاحتياطية لمحادثات WhatsApp من مصادر مختلفة، مثل واردات API والبريد الإلكتروني ومراقبة الدليل، وتوفير وصول سهل إلى هذه المحادثات من خلال واجهة أمامية تشبه تطبيق الدردشة، مثل WhatsApp.
هذا المشروع لا يزال قيد التطوير، وقد لا يتم تنفيذ بعض الميزات بالكامل.
يرجى قراءة الأسئلة الشائعة الرسمية الخاصة بـ Whatsapp.
باستخدام الملف المستورد، لاستيعابه في ChatVault، يمكنك:
ينقسم هذا المستودع إلى وحدتين رئيسيتين. وهي الوحدات: الواجهة الأمامية (javascript، vue، nuxt) والواجهة الخلفية (kotlin، java، Spring Boot، gradle)
وحدة الواجهة الأمامية هي تطبيق Vue/Nuxt وهي تخدم ما سيعرضه المتصفح: html وcss وjavascript والأصول الثابتة. للتشغيل بالطريقة التقليدية، باستخدام أوامر npm، اتبع الملف التمهيدي في دليل الواجهة الأمامية.
يمكنك تشغيله باستخدام npm:
npm run dev
سوف يستمع تطبيق الواجهة الأمامية على المنفذ 3000 بشكل افتراضي، إلا إذا قمت بتشغيل تطبيق الواجهة الخلفية من قبل (تستمع الواجهة الخلفية على 8080)، وفي هذه الحالة ستلتقط الواجهة الأمامية منفذًا عشوائيًا.
يمكنك تشغيل تطبيق الواجهة الخلفية بدون IDE:
./gradlew run
سيستمع تطبيق الواجهة الخلفية إلى منفذ 8080 افتراضيًا.
لاحظ أن تنزيل صور الحاوية قد يتطلب منك المصادقة على خطوات تسجيل حاوية GitHub هنا. يمكنك استخدام compose.yml لإنشاء قاعدة بيانات وبناء مشروع الواجهة الأمامية والخلفية محليًا.
docker-compose -f compose.yml
توجد حزم صور عامل الإرساء على جيثب. يمكنك تنزيل أحدث صورة باستخدام:
docker pull ghcr.io/vitormarcal/chatvault:latest
يتطلب التطبيق تخزين ملفات الدردشة في نظام الملفات. لاستخدام Docker، يرجى الرجوع إلى قسم متغيرات البيئة.
chatvault.bucket.root
: هذا هو الحجم المستخدم لتخزين ملفاتك. لا تحذف هذا!chatvault.bucket.import
: يتم استخدام هذا المجلد مؤقتًا لتخزين ملفات الدردشة التي سيتم تحليلها بواسطة التطبيق ثم نقلها إلى Bucket.root.chatvault.bucket.export
: يتم استخدام هذا المجلد مؤقتًا لتخزين الدردشة التي سيتم تنزيلها. بالنسبة لعامل الإرساء، يجب أن تكون المتغيرات بأحرف كبيرة وأين يوجد "." يجب أن يكون "_": some.environment.variable
يشبه SOME_ENVIRONMENT_VARIABLE
في عامل الإرساء
متغيرات البيئة | obs | مثال |
---|---|---|
قاعدة البيانات | مطلوب | |
Spring.datasource.url | مطلوب | jdbc:postgresql://database_host:5432/database_name |
Spring.datasource.username | مطلوب | مستخدم |
Spring.datasource.password | مطلوب | سر |
-------------------------- | -------------------------- | --------- |
استيراد البريد الإلكتروني | الفذ غير مطلوب | |
chatvault.email.enabled | غير مطلوب | حقيقي |
chatvault.email.host | مطلوب للفذ | imap.server.com |
chatvault.email.password | مطلوب للفذ | سر |
chatvault.email.port | مطلوب للفذ | 993 |
chatvault.email.username | مطلوب للفذ | com.someuser |
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-file-size | غير مطلوب | 500 ميجابايت |
Spring.servlet.multipart.max-request-size | غير مطلوب | 500 ميجابايت |
chatvault.msgparser.dateformat | غير مطلوب ولكن يوصى به | ي ي/ش ش/س س س س س: مم |