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.
Dostawcy
Link do tej sekcji| Dostawca | Logowanie | Twoje nowe urządzenie | Osoba, którą zapraszasz |
|---|---|---|---|
| Zgodny z S3 | Access key + secret | Kod przywracania plus Twój klucz dostępu, niesiony obok niego w kodzie QR | Klucz dostępu utworzony dla niej |
| Dropbox | OAuth, trzymany przez coven | Kod przywracania, potem logowanie do Twojego Dropbox | Udostępniony folder biblioteki jest udostępniany jej kontu |
| OneDrive | OAuth, trzymany przez coven | Kod przywracania, potem logowanie do Twojego OneDrive | Folder biblioteki jest udostępniany jej kontu |
| iCloud (CloudKit) | Apple Account, bez logowania | Kod przywracania, oferowany też z pęku kluczy iCloud | Strefa 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 sekcjicoven 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.
Układ domu
Link do tej sekcjiWewną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 sekcjiOdczyty 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.