Skip to content

同步

同步通常代表別人的伺服器:帳號、訂閱、可以讀取你資料庫的公司。bae 透過你的雲端同步,也就是你已有的儲存空間,且完全不執行伺服器。你的裝置會把加密變更寫入該儲存空間,並讀取彼此的變更;提供者持有位元組,但無法讀取。

一個資料庫、每個裝置,唯一涉及的帳號就是你已擁有的帳號。

資料庫的雲端主目錄是你儲存空間中的一個位置:Google Drive、Dropbox 或 OneDrive 中的資料夾、你的 iCloud,或任何 S3 相容 bucket(AWS、Backblaze B2、Cloudflare R2、Wasabi、MinIO、…)。它保存資料庫同步的一切:目錄變更、圖片,以及你讓 bae 管理的發行版本音訊。

在「設定」的 Sync 下設定:

  1. 選擇提供者。消費型雲端會使用提供者自己的登入頁面;除了它發出的 token 外,不會儲存任何關於你帳號的內容。iCloud 直接使用你的 Apple ID。S3 需要 bucket、region、endpoint 與金鑰,並會在儲存前檢查。
  2. 選擇主目錄如何儲存物件(見下方)。
  3. bae 開始同步。

沒有雲端主目錄的資料庫本身也是完整的。純本機是一種模式,不是限制;中斷雲端主目錄會回到該模式。

設定時你會選擇提供者可看到什麼,且該主目錄的選擇是永久的:

  • 不透明(預設):每個物件都會先在你的裝置上加密,再以無意義名稱儲存。提供者,或任何進入 bucket 的人,只會看到密文。這是加密頁面描述的模式,也是唯一支援加入其他裝置與成員的模式。
  • 可瀏覽:物件以明文搭配真實檔名儲存,放在以藝人與專輯命名的資料夾中。你可以用任何工具開啟 bucket,直接複製或播放檔案。沒有任何內容被加密,因此 bucket 本身的存取控制是唯一保護,而且主目錄無法分享。
  • 目錄:專輯、發行版本、曲目、名單、作品、身分、編輯。每個裝置都會取得全部內容。
  • 圖片:封面與藝人圖片會主動擷取,因此格狀清單可在各處呈現。
  • 音訊:只針對你選擇在雲端管理的發行版本。不受管理的發行版本維持純本機;目錄項目會出現在其他裝置上,但位元組只在匯入它的位置。

各裝置狀態不會同步:播放位置、音量、佇列與裝置設定會留在裝置上。

同步會自行執行:變更後、定時,以及使用 Sync Now 要求時。在一般條件下,編輯會以小變更在數秒後出現在其他裝置上。兩台裝置同時編輯時,只要沒有碰撞,兩邊都會保留:bae 會逐欄合併並行編輯,而刪除的發行版本即使同時在別處被編輯,仍會保持刪除。沒有任何內容會要求你解決衝突。

同步失敗不會中斷資料庫;bae 以退避重試時,你仍可在本機瀏覽、播放與匯入。狀態列會顯示同步中與上次同步時間;失敗時會顯示帶有錯誤的橫幅,上傳可在 Storage Manager 中暫停、重試與檢查。如果雲端主目錄的登入過期,bae 會要求你重新連接。