Skip to content

云同步

通过您自己的私有 Git 仓库加密同步 uniTerm 设置,无需中心化服务器,数据安全完全由您掌控。

云同步

快速配置

1. 创建私有仓库 + 访问令牌

GitHub

创建私有仓库: 登录 GitHub → 右上角 + → New repository → 输入仓库名 → 选择 Private → Create repository。

生成访问令牌: Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token:

  • Repository access:选择 Only select repositories,选择刚创建的私有仓库
  • Permissions → Contents:设为 Read and write
  • 生成后复制令牌(仅显示一次)

GitLab

创建私有仓库: 登录 GitLab → New project → Create blank project → 输入项目名 → Visibility Level 选 Private → Create project。

生成访问令牌: Settings → Access Tokens → Add new token:

  • Token name:输入名称
  • Select scopes:勾选 api 或至少勾选 read_repository + write_repository
  • 生成后复制令牌(仅显示一次)

Gitee

创建私有仓库: 登录 Gitee → 右上角 + → 新建仓库 → 输入仓库名称 → 选择 私有 → 创建。

生成访问令牌: 右上角头像 → 设置 → 私人令牌 → 生成新令牌:

  • 权限勾选 user_infoprojects
  • 生成后复制令牌(仅显示一次)

2. 配置 uniTerm

  1. 打开设置 → 云同步,点击「添加仓库」
  2. 填入仓库地址、用户名(可选)、访问令牌
  3. 设置一个主密码(用于加密数据,不会上传到仓库)
  4. 点击确定,uniTerm 自动完成首次同步

注意

  • 令牌和主密码请妥善保存,令牌仅显示一次
  • 仓库必须设为私有,否则同步数据将公开可见
  • 多设备同步时,每台设备填入相同的仓库地址、令牌和主密码

同步操作

手动同步

点击「立即同步」按钮,uniTerm 会自动对比本地与远程的差异:

  • 本地更新 → 推送到远程(上传)
  • 远程更新 → 拉取到本地(下载)
  • 无差异 → 已是最新

自动同步

开启自动同步开关后:

  • 启动时自动同步一次
  • 每次修改连接、设置、快捷命令后自动上传

同步内容

同步以下数据(加密后存储):

  • 连接列表与分组
  • 应用设置(含 AI 模型配置)
  • 快捷命令

不同步的数据:

  • 云同步配置本身(每台设备独立配置)
  • 界面布局状态
  • 终端历史记录

冲突处理

当多台设备同时修改数据且推送前未拉取最新版本时,可能出现冲突。uniTerm 会弹出冲突解决对话框,提供两种选择:

  • 使用本地数据 — 以当前设备的数据为准,覆盖远程仓库
  • 使用远程数据 — 以远程仓库的数据为准,覆盖当前设备

加密与安全

  • 加密算法: AES-256-GCM,每次加密使用随机 nonce
  • 密钥派生: 从主密码通过 PBKDF2-SHA256 算法派生加密密钥
  • 密钥存储: 派生密钥保存在操作系统密钥链中(Windows 凭据管理器 / macOS Keychain / Linux keyring)
  • 零信任: 所有数据在客户端加密后才上传,Git 服务端只看到密文

管理仓库

修改凭据

点击「编辑仓库」可修改用户名和访问令牌。仓库地址不支持修改(需先解除绑定再重新配置)。

修改凭据时会自动验证新令牌能否访问仓库、主密码能否解密远程数据。

修改主密码

点击「修改主密码」可更换加密密码。使用相同盐值重新派生密钥,重新加密所有数据并推送。

解除绑定

点击「解除绑定」将:

  • 删除本地同步仓库
  • 清除密钥链中保存的加密密钥和令牌
  • 重置同步配置

远程仓库不会被删除,如需删除请前往 Git 服务平台手动操作。

同步状态

设置页面显示上一次同步的时间和状态:

  • 成功(绿色)— 最近一次同步正常完成
  • 失败(红色)— 显示具体错误信息(如网络超时、令牌失效等)