Confidex
章節

自行執行同步伺服器。

同步伺服器儲存密封盒,為每個保險庫維護一個計數器,並在接受變更之前檢查簽章。它永遠不會持有金鑰,也永遠不會看到名稱,因此自行執行一份副本所需的成本非常低。

選擇它的執行位置與物件的存放位置。本頁會寫好設定,您只需貼到該放的地方。

三個它可以存放的地方。

同一份程式碼服務這三者。Cloudflare Worker 除了帳號之外不需要您提供任何東西;二進位檔或容器則需要您已有的一台機器。無論您選擇哪一種,保險庫金鑰都留在您的裝置上。

Cloudflare Worker

免費方案足以承載一個小型伺服器。索引是一個 D1 資料庫,物件存放在 S3 相容儲存桶中,因此不需要持續執行任何東西,私人保險庫也不需要任何費用。

一個原生二進位檔

在 Linux、macOS 或 Windows 上的單一處理程序。它提供純 HTTP 服務,並預期前方有代理伺服器處理 HTTPS。盒子無論哪種方式都已封存並簽章,因此純 HTTP 在這裡並非弱點。

一個容器

與二進位檔相同,設定以環境變數傳入。當機器已經在執行容器,而您不想從原始碼建置時,可以使用它。

完全不需要伺服器

同步是選用的。保險庫可以留在一台裝置上並做本機備份,永不接觸網路。之後可以加入伺服器,而不需要變更保險庫內部的任何東西。

回答四個問題,複製結果。

設定在各處的形式都相同:一個 TOML 欄位,或作為環境變數的同一個欄位。Worker 只接受 S3 儲存桶;二進位檔與容器則還能寫入普通目錄與 Git 儲存庫。

下載並解壓縮自行託管的ZIP檔案。無需Rust編譯器。

GitHub Releases · self-host ZIP

顯示設定

設定已更新。

執行位置
索引
密封盒的儲存位置

選擇多少個都可以。每個盒子都會寫入全部目的地;讀取時會逐一退回下一個,並檢查摘要。

監聽位址
返回設定

部署前請建立資料庫和儲存貯體,並取代所有預留位置。

設定檔


        

指令


        

秘密留在 Worker secrets 中,永不出現在檔案裡。Worker 只會寫入 S3 相容儲存。

角括號中的值由您自行填入。您在此輸入的任何內容都不會離開本頁:文字是在您的瀏覽器中組合而成的。

把您的保險庫指向它。

新的保險庫使用 sync.confidex.me。變更位址只是應用程式中的一項設定,保險庫仍會正常運作:位址不是保險庫的一部分,也不是它身分的一部分。

在應用程式中
開啟保險庫設定,把同步伺服器位址換成您自己的。用戶端會自行加上 API 路徑。
共用來源
應用程式與 API 可以存放在同一個網域上。把 API 前綴路由到伺服器,其他一切路由到應用程式。
帳號
無需建立。保險庫會透過上傳其已簽章的鎖來自行註冊,此後只有簽章金鑰的持有者才能取代它。
多個伺服器
一個保險庫一次只與一個伺服器通訊。換到另一個伺服器,用的是同一項設定。

伺服器擁有者需要做的事。

非常少,而且都不涉及秘密。伺服器保存密封盒與指向它們的索引。備份就是兩者的副本。

備份

把索引與物件儲存一起複製。物件是不可變的,並以其摘要命名,因此在伺服器執行期間製作的副本仍然有效。

升級

更換二進位檔,或重新部署 Worker。索引結構描述會在啟動時套用於原生索引,對 D1 則透過結構描述檔套用。

存取

儲存憑證授權伺服器存取它自己的儲存空間。它們與保險庫金鑰完全無關,也無法開啟任何一個盒子。

授權條款

伺服器以 GNU AGPL-3.0 授權。您為他人執行的修改版本必須保持開放;您為自己執行的副本則不帶任何義務。

伺服器是最不有趣的部分,而這正是重點。