MindVault هو تطبيق سطح مكتب آمن لإدارة كلمات المرور، يعمل بشكل كامل دون الحاجة للاتصال بالإنترنت.
يقوم التطبيق بتشفير بيانات تسجيل الدخول (أسماء المستخدمين وكلمات المرور) باستخدام تشفير مصادَق عليه و قوي (AES-GCM)، حيث يتم اشتقاق مفتاح التشفير من "كلمة مرور رئيسية" يحددها المستخدم، و ذلك باستخدام خوارزمية PBKDF2 مع عدد تكرارات مرتفع و قيمة عشوائية (Salt) عشوائي، مما يوفر حماية ممتازة للبيانات المخزنة.
التطبيق يدعم الوضع العادي و الوضع الليلي يهدف لتحسين تجربة المستخدم عبر توفير الراحة البصرية في ظروف الإضاءة المختلفة، و تلبية التفضيلات الشخصية، و تقليل إجهاد العين.
مميزات البرنامج
- تشفير قوي: AES-GCM مع مفتاح 256-بت مشتق باستخدام PBKDF2.
- يعمل دون اتصال: لا يتطلب اتصالاً بالإنترنت، بياناتك تبقى على جهازك.
- كلمة مرور رئيسية واحدة: حماية كل بياناتك بكلمة مرور واحدة.
- إدارة الحسابات: إضافة / تعديل / حذف بيانات اعتماد تسجيل الدخول.
- نسخ آمن: نسخ كلمة المرور إلى الحافظة بسهولة.
- بحث و تصفية: العثور بسرعة على الحسابات المطلوبة.
- دعم السمات (Themes): مظهر فاتح (نهاري) ومظهر داكن (ليلي) قابل للاختيار.
- دعم متعدد اللغات: يدعم اللغتين العربية و الإنجليزية مع إمكانية إضافة لغات أخرى.
- تخصيص الخط: إمكانية تغيير نوع و حجم الخط لواجهة التطبيق.
- قفل الخزنة: قفل الوصول للتطبيق بسرعة دون الخروج منه.
- قفل تلقائي للخزنة: قفل الوصول للتطبيق بعد فترة من الخمول لحماية بياناتك.
- مولّد كلمات مرور قوي: مدمج داخل التطبيق لتوليد كلمات معقدة بسهولة.
- مؤشر قوة كلمة المرور: يساعدك على معرفة مدى قوة كلمة المرور.
- تنبيه عند تكرار كلمات المرور: لضمان أمان أفضل.
- نسخ احتياطي و استعادة للخزنة: بسهولة للحفاظ على بياناتك بأمان.
- دعم التحقق الثنائي (2FA): باستخدام TOTP كخيار أمني إضافي.
التقنيات المستخدمة
- لغة بايثون - الإصدار 3.6 أو أي إصدار أحدث.
- مكتبة PyQt5 - لإنشاء الواجهة الرسومية للبرنامج.
- مكتبة cryptography - لتشفير كلمات المرور التي يدخلها المستخدم.
- مكتبة pyotp - لتطبيق المصادقة الثنائية (2FA) من خلال توليد و التحقق من كلمات المرور لمرة واحدة (OTPs).
- مكتبة qrcode - لإنشاء رموز QR Code. تتولى جميع التفاصيل المعقدة لترميز البيانات و تحويلها إلى نمط مرئي يمكن مسحه ضوئياً.
طريقة التشغيل
1- قم بتحميل المشروع.
2- فك الضغط عنه.
3- إفتح سطر الأوامر (CMD) و توجه لمسار المشروع.
4- لضمان عدم حدوث تعارض بين المكتبات المثبتة و المكتبات التي يحتاجها المشروع، قم بإنشاء و تفعيل بيئة افتراضية باستخدام الأمر التالي.
python -m venv venv
5- قم بتفعيل البيئة الإفتراضية و هنا عليك استخدام الأمر المناسب لنظام التشغيل الذي تستعلمه أنت.
- في حال كنت تستعمل نظام ويندوز إستخدم الأمر التالي.
venv\Scripts\activate
- في حال كنت تستعمل نظام لينكس/ماك إستخدم الأمر التالي.
source venv/bin/activate
6- قم بتثبيت المكتبات التالية بواسطة مدير الحزم pip باستخدام الأمر التالي.
pip install -r requirements.txt
7- قم بتشغيل المشروع باستخدام الأمر التالي.
python -m main