Przejdź do treści

Przechowywanie w chmurze

Dom w chmurze to jedno miejsce w przechowywaniu, które użytkownik już posiada. Każdy dostawca działa przez ten sam interfejs przechowywania w coven; różnią się logowaniem, konfiguracją i tym, jak docierają do niego inne osoby i urządzenia.

DostawcaLogowanieTwoje nowe urządzenieOsoba, którą zapraszasz
Zgodny z S3Access key + secretKod przywracania plus Twój klucz dostępu, niesiony obok niego w kodzie QRKlucz dostępu utworzony dla niej
DropboxOAuth, trzymany przez covenKod przywracania, potem logowanie do Twojego DropboxUdostępniony folder biblioteki jest udostępniany jej kontu
OneDriveOAuth, trzymany przez covenKod przywracania, potem logowanie do Twojego OneDriveFolder biblioteki jest udostępniany jej kontu
iCloud (CloudKit)Apple Account, bez logowaniaKod przywracania, oferowany też z pęku kluczy iCloudStrefa CloudKit biblioteki jest udostępniana jej Apple Account

Zgodność z S3 obejmuje AWS, Backblaze B2, Cloudflare R2, Wasabi i wszystko inne, co mówi tym API. Formularz konfiguracji pyta tylko o bucket, region, endpoint i klucz dostępu; coven rozpoznaje znane usługi po hoście endpointu i uzupełnia sposób rozmowy z nimi. Zaawansowane zawiera opcjonalny prefiks klucza i wybór profilu usługi, domyślnie automatyczny. Dla usługi, której coven nie zna, Wykryj ustawienia sprawdza bucket kluczem i pokazuje, co znalazło. Konfiguracja sprawdza dostawcę, zanim cokolwiek zostanie zapisane, żeby literówka zatrzymała konfigurację, a nie pierwszą synchronizację, a bae podaje powód coven prostymi słowami. Dropbox, OneDrive i iCloud istnieją tylko w pełnej edycji bae; kompilacje baeium kompilują je poza aplikacją.

Logowanie i foldery

Link do tej sekcji

coven sam przeprowadza logowanie do Dropbox i OneDrive, więc żaden token nie przechodzi przez bae. Na desktopie przeglądarka otwiera stronę dostawcy, a lokalny odbiornik przyjmuje jedno przekierowanie; na mobile robi to arkusz logowania platformy. coven trzyma tokeny w pęku kluczy systemu operacyjnego i raz odświeża token, gdy dostawca go odrzuci; nieudane odświeżenie pojawia się w stanie synchronizacji jako działanie Zaloguj się, nie jako cicha pętla ponowień.

Po zalogowaniu użytkownik wybiera, gdzie mieszka biblioteka. W Dropbox to folder udostępniony, bo biblioteka domowa jest udostępniana kontom innych osób; bae używa do tego pełnego dostępu do Dropbox, nie folderu aplikacji. Jeśli nie ma jeszcze żadnego udostępnionego folderu, bae mówi, żeby udostępnić jakiś w Dropbox i szukać ponownie. W OneDrive to dowolny folder, przeglądany od góry, a nowy można tam utworzyć.

CloudKit nie potrzebuje żadnego przepływu: coven obsługuje go na platformach Apple jako zalogowane Apple Account.

Wewnątrz domu każda ścieżka obiektu zaczyna się od identyfikatora magazynu biblioteki: numerowanej sekwencji zmian coven, jego migawek, próśb o dołączenie i przechowywanych plików. Kilka bibliotek może dzielić jeden folder Dropbox albo OneDrive bez dotykania obiektów pozostałych.

Każdy obiekt jest szyfrowany i przechowywany pod losową nazwą; trybu jawnego nie ma. Pliki bae to pliki coven, które wskazują wiersze czterech synchronizowanych tabel: release_files, covers, artist_images i awatar w każdym wierszu people. Ścieżka pliku jest ustalana, gdy plik zostaje przygotowany, więc zmiana nazwy albumu nigdy go nie przenosi. Zobacz Szyfrowanie.

Zachowanie w rzeczywistych sieciach

Link do tej sekcji

Odczyty do odtwarzania są zakresowe: odtwarzacz pobiera potrzebne zaszyfrowane kawałki zamiast całych plików i pobiera z wyprzedzeniem, gdy plik gra po kolei. Limity żądań i przejściowe błędy dostawcy są ponawiane według jednego harmonogramu odstępów, z uszanowaniem retry-after, gdy dostawca je poda. Kolejka wysyłania przetrwa restart: wysyłanie przerwane przez zamknięcie aplikacji wznawia się zamiast zaczynać od początku, a wstrzymane wysyłanie pozostaje wstrzymane.