eli
|
3b19271b6a
|
feat(rotate): hy2 的 CF 令牌轮换脚本(含一次真实事故的教训)
只换 hysteria 那一路:/etc/hysteria/config.yaml 与 setup.env 里的令牌,重启
hysteria-server。明确不碰 Caddy 的 Caddyfile、docker acme-companion 的 CF_Token、
路由器的 ddns、以及历史备份——它们各自可能用别的令牌,用途拆分前不动。
第一版在这里翻过车,10 台 hysteria 全挂约 4 分钟:
远端脚本走 stdin 喂给 `bash -s`,脚本里又用 `read` 从 stdin 读令牌,两者抢同一个
stdin,read 读到了脚本自己的下一行,把源码片段写进了 YAML,解析失败服务起不来。
现在改成:远端脚本先 scp 落地成文件,stdin 只留给令牌。
另外补了两道保险:
· 重启前先 yaml.safe_load 校验,坏了不重启
· 备份之后任何一步失败(校验/重启/active/内容核对)都自动回滚回备份再重启
令牌经 stdin 传输,不出现在任何一端的 argv 里。改完是幂等的:再跑一次只会说"已是新令牌"。
|
2026-11-10 10:42:45 +08:00 |
|