跳转到内容

Hub 与 Keep 服务器

应用默认使用两台内置服务器:hub.g.im 和 keep.g.im。两者都可以更改。

Hub 在设备之间投递消息和文件,经手的只有密文。聊天创建在你的 Hub 上,由它负责;如果 Hub 之间互相联邦,成员也可以在其他 Hub 上。

一个账号可以登记在多个 Hub 上。同步时,你的设备会同时连接所有 Hub;其中一个宕机时,消息仍会从其他 Hub 送达,并且每条只显示一次。可以在应用的服务器设置里添加或移除 Hub,并选择优先发送的那一个。

由于你的所有 Hub 都承载同样的消息,某个 Hub 宕机不会让你失联:你仍从其他 Hub 收到消息,发送也会换到列表里的下一个 Hub。有一个限制:每个聊天由创建它的 Hub 负责,那个 Hub 宕机时,这个聊天会等它恢复,其他聊天不受影响。

账号 ID 来自你的根密钥,而不是某个 Hub;你的 Hub 列表也由这把密钥签名,而它从不交给任何 Hub。想换到别的 Hub:添加它,并把它设为优先发送;注册时用的 Hub 会作为次要 Hub 留在列表里。用户名属于某一个 Hub,如果想在新 Hub 上使用,需要重新设置。

想从一开始就使用别的 Hub:在 Android 上,创建或恢复账号之前修改服务器地址;在命令行里,给 gim register 加上 --server URL。

Keep 服务器只保存两样东西:

  • 隐私设置的加密备份,包括屏蔽名单。它用由根密钥派生的密钥封存,服务器无法读取。恢复账号时会一并取回。免打扰、置顶、归档这类单个聊天的设置不会备份。
  • 你主动提交的举报。 举报包含被举报的用户、原因,以及你选中的消息,以明文发给服务器的管理员:聊天是端到端加密的,你选中的内容就是他们能看到的全部。

Keep 服务器上没有账号,每个请求都用你的根密钥签名。不用 Keep 服务器时,除了备份和举报,其他功能都正常。可以在应用设置里更改或关闭它(Android:设置 › 高级 › Keep 服务器),命令行用 --keep-server URL 或 --no-keep。

自己部署 Hub 或 Keep 服务器,见自己部署。