حاليًا ، تقدم العديد من الشركات خدمات التخزين السحابي ، ولكن لكل منها عميل خاص بها ووظائفها ، كقاعدة عامة ، تترك الكثير مما هو مرغوب فيه.
البدائل الحالية لم تناسبني لأسباب عديدة ، لذلك قررت أن أصنع عميل عالمي خاص بي - shadowcloud
شيء من هذا القبيل:

ماذا يمكن
- تنزيل مباشر (بدون استخدام قرص محلي) إلى Google Drive و Yandex Disk (WebDAV) و Mail.Ru cloud و Dropbox
- تشفير كامل بشكل افتراضي ، مجموعة كبيرة من الخوارزميات والإعدادات
- قاعدة بيانات محمية بكلمة مرور
- المجموع الاختباري وإلغاء البيانات المكررة
- يزيل حد حجم الملف
- نسخ أو تقسيم الملفات إلى مستودعات مختلفة
- تدفق وسائط غير محدود
- ينشئ معاينات ويستخلص البيانات الوصفية ونص المستندات
- إصدار الملفات وهيكل الدليل بأكمله
- ملاحظات تخفيض السعر ، تسليط الضوء على الرمز
- حفظ صفحات الويب بسرعة باستخدام الموارد المضمنة
- التخزين المؤقت لملف الذاكرة
- استخدم كقرص محلي باستخدام FUSE (يتطلب winfsp)
- مفتوح المصدر ، يمكن تكوين كل جانب تقريبًا عبر shadowcloud.conf


كيفية الاستخدام
في الواقع ، المستودع
لاستخدامه من الضروري:
- إنشاء مفتاح تشفير (تحتاج فيما بعد إلى استيراده على أجهزة أخرى)
- قم بإعداد التخزين السحابي
- إنشاء منطقة بيانات وربط التخزين بها (يجب أن تتطابق معرفات المنطقة على جميع الأجهزة)

بعد ذلك ، يمكنك الذهاب إلى اللوحة مع الملفات وتحديد المنطقة وتحميل المستندات.
قليلا عن التنفيذ
البرنامج مكتوب بلغة سكالا وهو مبني بالكامل تقريبًا على إطار عمل Akka (الممثلين ، الجداول ، http ، المثابرة) ، الواجهة الأمامية مكتوبة بالكامل على Scala.js.
يتم استخدام Bouncy Castle و libsodium اختياريًا للتشفير (الخوارزميات الافتراضية: Blake2b / ChaCha20 / ECIES / ECDSA).
يتم استبعاد Apache Tika و JavaCV من الإصدار الخفيف نظرًا لحجمهما الكبير ؛ يتم استخدامهما لاستخراج البيانات الوصفية من المستندات وإنشاء معاينات لمقاطع الفيديو.