Electerm 数据同步:一处配置,台台机器都一样
换了台新笔记本,五十个书签全没了。一个个重建连接不是装机——是带着额外步骤的既视感。
electerm 专门有一个面板干这件事:设置 → Sync。把数据传到五个后端之一,换台机器再下载回来——书签、书签分组、终端主题、快速命令、配置文件、地址簿、工作区、触发器,再加一部分应用设置。笔记本和台式机从此是同一套主机,不用复制粘贴。
先看这段:同步是整盘替换,不是合并。下载会按数据类型直接覆盖本地。先看下文的预览,再点下载。
1. 五个后端并排对比
官方版五个后端全都有:
| github | gitee | custom | cloud | webdav | |
|---|---|---|---|---|---|
| 存到哪 | 秘密 gist | 秘密 gist | 你自己的 HTTP 服务 | sync.electerm.org(测试版) |
任意 WebDAV 服务器 |
| 凭据 | 个人访问令牌(gist 权限)+ gist id |
同构,gitee token + gist id | API 地址 + JWT 密钥 + 用户 id | 网站上拿到的 token | 服务器地址 + 用户名 + 密码 |
| 适合 | 大多数人,免费稳定 | 更习惯 gitee 的国内用户 | 自建、团队 | 零折腾,不想玩 gist | 有 NAS / Nextcloud / 坚果云的人 |
切换标签页不会丢其它后端的凭据——每个后端各存自己的一套 token、gist id、上次同步时间和加密密码,保存只写你当前所在的那一页。
2. 60 秒跑通第一次同步(github)
- 去
github.com/settings/tokens/new建一个只有 gist 权限的 token——立刻复制,GitHub 只给看一次(wiki:创建个人访问令牌)。 - 去
gist.github.com建一个秘密 gist,从 URL 里抄 id(.../your-name/xxxxxxxx→xxxxxxxx)。 - electerm 打开设置 → Sync → github,粘贴 token + gist id,按需设加密密码(第 5 节),需要走代理就填 proxy,点 Save。
- 旧机器点 Upload,新机器点 Download。看 lastSyncTime 和 Check gist 链接确认。
gitee 流程一样——但先看警告:面板里明确写着 “不推荐使用 Gitee 同步”(wiki:gitee 同步警告)。新配置优先 github、cloud 或 WebDAV。
3. 到底同步了什么
一共八类数据,每类一个复选框:设置、书签(书签加分组)、终端主题、快速命令、配置文件、地址簿、工作区和触发器。默认全选;不想同步哪类就取消勾选,之后上传和下载都只涉及剩下的那些。
还有两个值得知道的细节:
- 设置只是精选列表,不是整个配置——主题、字号、回滚行数、快捷键、语言、终端选项、AI 设置等四十来个键。导入时会剥掉服务器相关键(WebSocket 令牌、host、port 之类),所以同步来的配置永远弄不坏本机服务的连接。
- 排序也跟着走。 每类数据都自带一份顺序信息,书签和标签页顺序过一趟同步原样保留。
4. 每个后端的配置要点
自建服务(wiki)——填 API 地址、JWT 密钥、用户 id。协议很小:一个 PUT 把 JSON 存下来,一个 GET 把存的东西吐回来,一个 POST 在用户校验通过时回 ok。electerm/electerm-sync-server-* 下有现成实现:Cloudflare Workers + D1(推荐)、Vercel、Python、Rust、Go、Java 等等。
Cloud——表单里的 sync.electerm.org [Beta] 链接。没有 gist id 这一项,去网站拿 token 粘进来就行。
WebDAV(wiki)——切到 webdav 页,填服务器地址、用户名、密码,自签名证书就打开跳过 SSL 验证。地址形状:Nextcloud/ownCloud 是 https://server/remote.php/dav/files/username,坚果云是 https://dav.jianguoyun.com/dav/,裸 Apache/nginx 就是 /dav/。服务器上是一个 /electerm/ 目录,里面放着数据文件加一个 userConfig.json 和一份状态文件(设备名、electerm 版本、上次同步时间)。生产环境一定用 HTTPS,优先应用专用密码,目录记得备份。
所有后端都可以填可选的 proxy(socks5://127.0.0.1:1080 这种格式,见代理格式 wiki)。
5. 加密:密码到底保护了什么
加密密码是分后端存的。设了之后:
- 上传时只加密书签和 profiles;主题、快速命令等还是明文 JSON。
- 下载是失败即停:配了密码却收到未加密的数据,直接中止,不把可能是坏人塞的数据吃进来。
- 密码没有找回。丢了,服务器上那份就永远打不开了——wiki 写得很直白,程序也是这么执行的:没密码谁都解不开。
实操规矩:第一次上传之前就设好密码,所有机器用同一个,密码放密码管理器——别只存在 electerm 里。
6. 上传、下载,先看再下
- 上传把选中的数据集加一条很小的状态记录(时间戳、版本、主机名)推出去。gist 后端是一次 gist 更新;WebDAV 是一类数据一次写入。
- 下载拉回来、解密、修补旧版数据格式、恢复排序、应用精选设置,最后盖上上次同步时间。
- 预览——按钮下面的服务器数据状态行驱动那个差异视图:每类一行
远端 N / 本地 M → 建议上传/下载?,没差别就显示Data in sync。往已有书签的机器第一次下载前,先看它。 - 空目标报错很直白:“gist 是空的,先检查 gist ID 或先上传”(gist)和 WebDAV 目录版同理——意思就是字面意思:先上传,再下载。
7. 自动同步和文件导出
标签页上面的导出 / 导入 / 自动同步一排管的是省心路径:
- 自动同步开关(wiki:自动同步),间隔(
数据变更时、5/10/15/30 分钟、1/2/6/12/24 小时)加方向(上传 / 下载)。默认是变更即上传:任何数据改动都会触发一次上传,推到每个配好的后端。定时模式按间隔轮询;下载方向让第二台机器跟着第一台走。 - 导出吐一个
YYYY-MM-DD-HH-mm-ss-electerm-all-data.json,全部数据集加完整配置——离线备份就靠它。 - 导入从这个文件整盘替换同样的数据集,分批处理带进度条,再应用配置。
书签上的触发器跟着书签一起同步,这边调好的登录流程,那边开箱即用——见终端触发器。
8. 真正要紧的安全守则
- 只用秘密 gist。 公开 gist 等于把主机名、用户名乃至(未加密的)密码挂上互联网。建秘密的,id 也别乱发。
- token 只要 gist 权限。 权限给多了,丢一个同步配置等于丢整个 GitHub 账号。
- 加密密码先设,而且别只记在 electerm 里。
- 往非空机器第一次下载前先预览——下载是替换,不是合并。
- 同一时间只有一个写者。 两台机器都开变更即上传,最后写入的赢;机群里让一台传、其余定时下载。
速查表
- 入口——左侧齿轮 → Sync。五个页:github / gitee / custom / cloud / webdav。
- 第一次——token(+ gist id)→ 保存 → 这边上传、那边下载,看上次同步时间。
- 选数据——表单下面的复选框;设置只同步精选四十来个键,服务器键会被剥掉。
- 上锁——加密密码只包书签 + profiles,下载失败即停,丢了找不回。
- 省心——自动同步(变更即时或定时,上传或下载)+ 单文件导出导入做离线备份。
- 口诀:新机器先预览再下载;主力机变更即上传;机密和机群加密加私有后端。
