مشروع Fileora: منصة التخزين السحابي الآمن والمشفر (Zero-Knowledge Cloud Storage)
مرحباً بك في Fileora، الجيل الجديد من منصات التخزين السحابي الآمنة والمبنية على مبدأ "المعرفة الصفرية" (Zero-Knowledge) والتشفير التام من طرف لآخر (End-to-End Encryption). تم تصميم هذا المشروع ليوفر للمستخدمين أقصى درجات الخصوصية والأمان لملفاتهم الحساسة مع تجربة مستخدم سلسة وعصرية.
ما هو تطبيق Fileora وفيمَ يُستخدم؟
تطبيق Fileora هو منصة تخزين سحابي متكاملة تمكن الأفراد والشركات من رفع ملفاتهم وإدارتها ومشاركتها بشكل آمن للغاية. الميزة الجوهرية للتطبيق هي أن جميع عمليات التشفير وفك التشفير تحدث داخل متصفح المستخدم (Client-Side Encryption) قبل رفع أي بايت إلى الخادم.
فلسفة الأمان في Fileora:
- تشفير المعرفة الصفرية (Zero-Knowledge): لا يمكن للخادم أو المطورين أو أي طرف ثالث قراءة ملفاتك أو معرفة كلمات المرور الخاصة بك.
- حماية البيانات عند النقل والتخزين: يتم نقل الملفات كبيانات مشفرة بالكامل، وتخزن على الخادم بصيغتها المشفرة فقط.
- استقلالية المفاتيح: يتم تشفير كل ملف بمفتاح فريد ومستقل، ويتم حماية هذا المفتاح بدوره باستخدام المفتاح الرئيسي المستمد من كلمة مرورك.
---
التقنيات المستخدمة في المشروع (Tech Stack)
تم بناء المشروع باستخدام أحدث التقنيات وأقواها لضمان السرعة، والأمان، وقابلية التوسع:
تقنيات الواجهة الأمامية (Frontend)
- React 19 & Vite: لبناء واجهة مستخدم سريعة جداً وتفاعلية مع زمن تحميل شبه منعدم.
- TypeScript: لضمان كتابة كود برامجي خالٍ من الأخطاء وتسهيل الصيانة والتطوير.
- Tailwind CSS v4: لتصميم واجهة مستخدم عصرية وأنيقة تعتمد على السمات الداكنة والمضيئة (Dark/Light Modes) مع تأثيرات بصرية جذابة.
- React Router v7: لإدارة التنقل والمسارات داخل التطبيق مع حماية الصفحات الحساسة (Auth & Guest Guards).
- Web Crypto API: واجهة تشفير المتصفح الأصلية المستخدمة لتوليد المفاتيح، وتشفير وفك تشفير الملفات محلياً بسرعة فائقة وأمان تام.
- Axios: للتواصل الآمن مع الواجهة الخلفية باستخدام ملفات تعريف الارتباط الآمنة (Secure HTTP-Only Cookies).
تقنيات الواجهة الخلفية وقاعدة البيانات (Backend & Database)
- PHP 8.3 & Laravel+ (إصدار 11+): الإطار البرمجي الأقوى لإدارة المنطق البرمجي، التحقق من البيانات، وإدارة العمليات الخلفية.
- Laravel Sanctum: لتأمين الجلسات وتسجيل الدخول عبر ملفات تعريف الارتباط المؤمنة ضد الاختراق وسرقة الجلسات.
- Laravel Storage (Disk API): لإدارة تخزين الملفات على الخوادم المحلية أو ربطها مع خدمات التخزين السحابية كـ AWS S3.
- Dedoc Scramble: لتوليد وتحديث توثيق الـ API تلقائياً لتسهيل التطوير.
- قاعدة بيانات SQLite / MySQL:لت خزين بيانات المستخدمين المشفرة، هيكل المجلدات، روابط المشاركة، وإحصائيات التحميل.
ما الذي قمت بإنجازه وتطويره؟ (Features Implemented)
لقد قمنا ببناء نظام متكامل يغطي كافة الجوانب البرمجية والأمنية للتطبيق:
1 نظام تشفير متقدم من جهة العميل (Client-Side Cryptography)
- اشتقاق المفتاح الرئيسي (Key Derivation): عند تسجيل الدخول، يتم استخدام خوارزمية PBKDF2 مع 100,000 دورة تشفير وهاش SHA-256 لاشتقاق مفتاح التشفير الرئيسي الخاص بك بشكل آمن من كلمة المرور والبريد الإلكتروني.
* تشفير الملفات: يتم تشفير كل ملف بشكل منفصل باستخدام خوارزمية التشفير AES-256-GCM مع ناقل تهيئة فريد (IV).
2 إدارة متكاملة للملفات والمجلدات (File & Folder Management)
- لوحة تحكم كاملة تتيح للمستخدمين:
- إنشاء وحذف وتعديل المجلدات لتنظيم الملفات.
- رفع الملفات بأي صيغة (تلقائياً يتم تشفيرها قبل البدء بالرفع).
- تعديل أسماء الملفات ونقلها بين المجلدات وسلة المحذوفات.
- تحميل الملفات وتنزيلها (تلقائياً يتم فك تشفيرها فوراً داخل المتصفح).
3. روابط المشاركة الآمنة والخاضعة للتحكم (Secure Share Links)
- توليد روابط تحميل عامة لأي ملف مع خيارات حماية متطورة تشمل:
- الحماية بكلمة مرور: تشفير الرابط بكلمة مرور إضافية يتحقق منها الخادم بصيغة هاش آمنة.
- تاريخ انتهاء الصلاحية: إيقاف عمل الرابط تلقائياً بعد وقت محدد.
- حد التحميلات (Download Limit): تحديد عدد مرات التحميل المسموح بها للرابط.
- تتبع سجل التحميل: لوحة تحكم خاصة لعرض تفاصيل التحميلات، تشمل عدد المرات وعناوين الـ IP الفريدة للمحملين.
4. استيراد الملفات المشتركة مباشرة (Import Shared Files)
- يمكن للمستخدمين الآخرين المسجلين في المنصة استيراد الملفات المشتركة مباشرة إلى حساباتهم بضغطة زر.
- تتم هذه العملية بأمان كامل، حيث يعاد تشفير مفتاح الملف باستخدام المفتاح الرئيسي للمستخدم المستورد دون الحاجة لفك تشفير محتوى الملف نفسه على الخادم.
5. نظام الاشتراكات وخطط بحد أقصى للإستخدام من ناحية المساحة وعدد الفايلات المسموح بيها