Перейти до вмісту

Хмарне сховище

Хмарний дім — це одне місце в сховищі, яким користувач уже володіє. Кожен провайдер керується через той самий інтерфейс сховища в coven; відрізняються вхід, налаштування і спосіб, у який до нього потрапляють інші люди та пристрої.

ПровайдерВхідВаш власний новий пристрійЛюдина, яку ви запрошуєте
S3-суміснийAccess key + secretКод відновлення плюс ваш ключ доступу, переданий поруч із ним у 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 зберігає токени у сховищі ключів OS і один раз оновлює токен, коли провайдер його відхиляє; невдале оновлення з’являється у стані синхронізації як дія Увійти, а не як тиха петля повторів.

Після входу користувач вибирає, де живе бібліотека. У Dropbox це спільна папка, бо бібліотека домогосподарства спільна з обліковими записами інших людей; bae використовує для цього повний доступ до Dropbox, а не папку застосунку. Якщо спільної папки ще немає, bae пропонує надати спільний доступ до папки в Dropbox і пошукати знову. В OneDrive це будь-яка папка, яку переглядають із верхнього рівня, і там можна створити нову.

CloudKit не потребує flow: coven керує ним на платформах Apple як Apple Account, у який виконано вхід.

Усередині дому кожен шлях об’єкта починається з ідентифікатора сховища бібліотеки: нумерована послідовність змін coven, його snapshot-и, запити на приєднання і збережені файли. Кілька бібліотек можуть спільно використовувати одну папку Dropbox або OneDrive, не торкаючись об’єктів одна одної.

Кожен об’єкт шифрується й зберігається під випадковим іменем; режиму plaintext немає. Файли bae — це файли coven, на які посилаються рядки чотирьох синхронізованих таблиць: release_files, covers, artist_images і аватар у кожному рядку people. Шлях файлу фіксується, коли його підготовлено, тож перейменування альбому ніколи його не переміщує. Див. Шифрування.

Поведінка в реальних мережах

Посилання на цей розділ

Читання для відтворення діапазонні: програвач забирає потрібні зашифровані чанки, а не цілі файли, і забирає наперед, поки файл відтворюється по черзі. Обмеження частоти й тимчасові помилки провайдера повторюються за одним розкладом пауз, з урахуванням retry-after, якщо він наданий. Черга завантаження переживає перезапуски: завантаження, перерване виходом із застосунку, продовжується, а не починається заново, а призупинені завантаження лишаються призупиненими.