自行运行同步服务器。
同步服务器存储已封存的对象,为每个保险库维护一个计数器,并在接受更改前检查签名。它从不持有密钥,也从不看到任何名称,因此自行运行一份代价很小。
选择它运行在何处、对象存放在何处。本页会写好配置,您只需粘贴到该放的地方。
它可以运行在三种地方。
同一套代码支持这三种方式。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 的存储。
二进制程序提供纯 HTTP 服务。当机器可从互联网访问时,请在它前面放一个代理。
容器在其内部监听每一个接口,因此已发布的端口能够到达它。
为已封存的对象选择至少一个存放位置。没有位置时,服务器会拒绝启动。
尖括号中的值由您填写。您在此输入的任何内容都不会离开本页:文本在您的浏览器中组装完成。
让您的保险库指向它。
新保险库默认使用 sync.confidex.me。更改地址只是应用中的一项设置,保险库仍能照常工作:地址不属于保险库,也不属于其身份的一部分。
- 在应用中
- 打开保险库设置,将同步服务器地址替换为您自己的地址。客户端会自行添加 API 路径。
- 共用源
- 应用和 API 可以共用一个域名。将 API 前缀路由到服务器,其余一切路由到应用。
- 账户
- 无需创建。保险库通过上传其已签名的锁来自行注册,此后只有签名密钥的持有者才能替换它。
- 多个服务器
- 一个保险库一次只与一个服务器通信。迁移到另一个服务器只是同一项设置。
服务器所有者需要做的事。
需要做的很少,而且都不涉及密钥。服务器保存已封存的对象和指向它们的索引。备份就是两者的一份副本。
备份
将索引和对象存储一起复制。对象是不可变的,并以其摘要命名,因此在服务器运行期间制作的副本仍然有效。
升级
替换二进制程序,或重新部署 Worker。原生索引的模式在启动时应用,D1 的模式则通过模式文件应用。
访问权限
存储凭据授权服务器访问自己的存储。它们与保险库密钥毫无关系,也无法打开任何一个已封存的对象。
许可证
服务器以 GNU AGPL-3.0 授权。您为他人运行的更改必须保持开放;您为自己运行的副本不带任何义务。