تخط إلى المحتوى

التخزين السحابي

موطن السحابة موقع واحد في تخزين يملكه المستخدم بالفعل. يُقاد كل مزود عبر واجهة التخزين نفسها في coven؛ وما يختلف حسب المزود هو تسجيل الدخول، والإعداد، وكيف يصل إليه أشخاص وأجهزة آخرون.

المزودتسجيل الدخولجهازك الجديدشخص تدعوه
متوافق مع S3مفتاح وصول + سررمز الاستعادة، مع مفتاح الوصول الخاص بك محمولًا بجانبه في رمز QRمفتاح وصول أُنشئ له
DropboxOAuth، يحتفظ به covenرمز الاستعادة، ثم تسجيل الدخول إلى Dropbox الخاص بكيُشارك مجلد المكتبة المشترك مع حسابه
OneDriveOAuth، يحتفظ به covenرمز الاستعادة، ثم تسجيل الدخول إلى OneDrive الخاص بكيُشارك مجلد المكتبة مع حسابه
iCloud (CloudKit)Apple Account، بلا تسجيل دخولرمز الاستعادة، ويُعرض أيضًا من سلسلة مفاتيح iCloudتُشارك منطقة CloudKit للمكتبة مع Apple Account الخاص به

يشمل المتوافق مع S3 كلًا من AWS، وBackblaze B2، وCloudflare R2، وWasabi، وأي شيء آخر يتكلم API. لا يطلب نموذج الإعداد إلا bucket والمنطقة وendpoint ومفتاح الوصول؛ يتعرف coven على الخدمات المعروفة من مضيف endpoint ويكمل طريقة التخاطب معها. يحوي متقدم بادئة المفتاح الاختيارية واختيار ملف تعريف الخدمة، تلقائيًا افتراضيًا. ولخدمة لا يعرفها coven، يفحص اكتشاف الإعدادات bucket بالمفتاح ويعرض ما وجده. يتحقق الإعداد من المزود قبل حفظ أي شيء، حتى يفشل الخطأ المطبعي عند الإعداد لا عند أول مزامنة، ويذكر bae سبب coven بكلمات واضحة. لا توجد Dropbox وOneDrive وiCloud إلا في إصدار bae الكامل؛ وتبني بُنى baeium من دونها.

تسجيل الدخول والمجلدات

رابط إلى هذا القسم

يجري coven تسجيل الدخول إلى Dropbox وOneDrive بنفسه، فلا يمر أي رمز عبر bae. على سطح المكتب يفتح المتصفح صفحة المزود ويستقبل مستمع محلي redirect الوحيد؛ وعلى الهاتف تتولى ذلك ورقة تسجيل الدخول في المنصة. يحفظ coven الرموز في keyring نظام التشغيل ويحدّث رمزًا مرة واحدة عندما يرفضه المزود؛ ويظهر التحديث الفاشل في حالة المزامنة كإجراء تسجيل الدخول بدل حلقة إعادة محاولة صامتة.

بعد تسجيل الدخول يختار المستخدم مكان المكتبة. في Dropbox هو مجلد مشترك، لأن مكتبة الأسرة تُشارك مع حسابات الأشخاص الآخرين؛ ويستخدم bae لذلك وصول Dropbox الكامل، لا مجلد تطبيق. إن لم يوجد مجلد مشترك بعد، يطلب bae مشاركة مجلد في Dropbox ثم البحث مجددًا. في OneDrive هو أي مجلد، يُتصفح من الأعلى، ويمكن إنشاء مجلد جديد هناك.

لا يحتاج CloudKit إلى تدفق أصلًا: يقوده coven على منصات Apple بصفته Apple Account المسجل الدخول.

تخطيط الموطن

رابط إلى هذا القسم

داخل الموطن، يبدأ كل مسار كائن بمعرّف مخزن المكتبة: سلسلة تغييرات coven المرقمة، ولقطاته، وطلبات الانضمام، والملفات المخزنة. يمكن لعدة مكتبات مشاركة مجلد Dropbox أو OneDrive واحد من دون أن تمس كائنات بعضها.

يُشفّر كل كائن ويُخزن تحت اسم عشوائي؛ لا يوجد وضع نص واضح. ملفات bae هي ملفات coven تشير إليها صفوف أربعة جداول متزامنة: release_files وcovers وartist_images، والصورة الرمزية في كل صف من people. يُثبّت مسار الملف عند تجهيزه، لذلك لا تنقله إعادة تسمية الألبوم أبدًا. انظر التشفير.

السلوك على الشبكات الحقيقية

رابط إلى هذا القسم

القراءات للتشغيل نطاقية: يجلب المشغل القطع المشفرة التي يحتاجها بدل الملفات كلها، ويجلب مسبقًا أثناء تشغيل الملف بالترتيب. قيود المعدل وأخطاء المزود العابرة تعيد المحاولة وفق جدول تراجع واحد، وتحترم retry-after من المزود عندما يعطيه. تبقى قائمة انتظار الرفع بعد إعادة التشغيل: الرفع الذي يقطعه إنهاء التطبيق يُستأنف بدل أن يبدأ من جديد، والرفوع الموقوفة مؤقتًا تبقى موقوفة.