Chuyển đến nội dung

Lưu trữ đám mây

Nhà trên đám mây là một vị trí trong lưu trữ mà người dùng đã sở hữu. Mọi nhà cung cấp được điều khiển qua cùng giao diện lưu trữ trong coven; điểm khác nhau theo từng nhà cung cấp là đăng nhập, thiết lập, và cách người khác cùng thiết bị khác tới được nó.

Nhà cung cấpĐăng nhậpThiết bị mới của bạnNgười bạn mời
Tương thích S3Access key + secretMã khôi phục, cùng khóa truy cập của bạn được mang bên cạnh trong mã QRMột khóa truy cập được tạo cho họ
DropboxOAuth, do coven giữMã khôi phục, rồi đăng nhập Dropbox của bạnThư mục chia sẻ của thư viện được chia sẻ với tài khoản của họ
OneDriveOAuth, do coven giữMã khôi phục, rồi đăng nhập OneDrive của bạnThư mục của thư viện được chia sẻ với tài khoản của họ
iCloud (CloudKit)Apple Account, không đăng nhậpMã khôi phục, cũng được đề xuất từ iCloud KeychainVùng CloudKit của thư viện được chia sẻ với Apple Account của họ

Tương thích S3 bao phủ AWS, Backblaze B2, Cloudflare R2, Wasabi, và bất kỳ thứ gì khác nói API này. Biểu mẫu thiết lập chỉ hỏi bucket, region, endpoint và khóa truy cập; coven nhận ra các dịch vụ đã biết qua host của endpoint và tự điền cách giao tiếp với chúng. Advanced chứa tiền tố khóa tùy chọn và lựa chọn hồ sơ dịch vụ, mặc định là tự động. Với dịch vụ coven không biết, Detect Settings thăm dò bucket bằng khóa và hiển thị những gì nó tìm thấy. Thiết lập kiểm tra nhà cung cấp trước khi lưu bất cứ thứ gì, để lỗi gõ sai thất bại lúc thiết lập, không phải ở lần đồng bộ đầu, và bae nêu lý do của coven bằng lời lẽ dễ hiểu. Dropbox, OneDrive và iCloud chỉ tồn tại trong phiên bản bae đầy đủ; bản dựng baeium biên dịch loại bỏ chúng.

Đăng nhập và thư mục

Liên kết đến phần này

coven tự thực hiện đăng nhập Dropbox và OneDrive, nên không token nào đi qua bae. Trên desktop, trình duyệt mở trang của nhà cung cấp và một bộ nghe cục bộ nhận một lần redirect duy nhất; trên mobile, trang đăng nhập của nền tảng làm việc đó. coven giữ token trong keyring của hệ điều hành và làm mới một token một lần khi nhà cung cấp từ chối nó; lần làm mới thất bại hiện trong trạng thái đồng bộ dưới dạng thao tác Sign In thay vì vòng thử lại im lặng.

Sau khi đăng nhập, người dùng chọn nơi thư viện nằm. Với Dropbox đó là một thư mục được chia sẻ, vì thư viện của gia đình được chia sẻ với tài khoản của những người khác; bae dùng quyền truy cập Dropbox đầy đủ cho việc này, không dùng thư mục ứng dụng. Nếu chưa có thư mục chia sẻ nào, bae bảo chia sẻ một thư mục trong Dropbox rồi tìm lại. Với OneDrive đó là bất kỳ thư mục nào, duyệt từ cấp trên cùng, và có thể tạo thư mục mới ở đó.

CloudKit không cần luồng nào: coven điều khiển nó trên nền tảng Apple như Apple Account đã đăng nhập.

Bố cục của nhà

Liên kết đến phần này

Bên trong nhà, mọi đường dẫn đối tượng đều bắt đầu bằng store id của thư viện: chuỗi thay đổi đánh số của coven, các snapshot của nó, yêu cầu tham gia và các tệp đã lưu. Nhiều thư viện có thể dùng chung một thư mục Dropbox hoặc OneDrive mà không chạm vào đối tượng của nhau.

Mọi đối tượng đều được mã hóa và lưu dưới tên ngẫu nhiên; không có chế độ plaintext. Tệp của bae là tệp coven mà các hàng của bốn bảng đồng bộ tham chiếu: release_files, covers, artist_images, và ảnh đại diện trên mỗi hàng people. Đường dẫn của một tệp được cố định khi nó được chuẩn bị, nên đổi tên album không bao giờ di chuyển nó. Xem Mã hóa.

Hành vi dưới mạng thật

Liên kết đến phần này

Đọc cho phát lại là đọc theo khoảng: trình phát lấy các chunk đã mã hóa nó cần thay vì toàn bộ tệp, và lấy trước khi một tệp phát theo thứ tự. Giới hạn tốc độ và lỗi nhà cung cấp tạm thời được thử lại theo một lịch backoff duy nhất, tôn trọng retry-after của nhà cung cấp khi có. Hàng đợi tải lên sống qua lần khởi động lại: một lượt tải lên bị ngắt vì thoát ứng dụng tiếp tục thay vì bắt đầu lại, và lượt tải lên đang tạm dừng vẫn tạm dừng.