Repository navigation
修订版:修了在 Windows 上实测一键升级时发现的几个问题(切换失败后站点可能一直停着、杀毒软件让准备失败、回滚以后更新页一直在等),另外后台发通知可以搜索选择收件人,注册和重设密码页加了密码强度指示。安装和升级步骤见安装。
运行环境
Node ≥ 24,推荐 Node 26;Next 16.4.2。
镜像:ghcr.io/glasden/nextskin:0.7.2(linux/amd64、linux/arm64)。
校验:sha256sum -c SHA256SUMS,另附 SHA256SUMS.sig,用发布公钥校验的方法见安装。
安全修复
代码上没有。Windows 上把实例放在 C 盘根下(例如 C:\nextskin)、用 NSSM 以 LocalSystem 运行的,目录默认继承"Authenticated Users:修改",本机任何账户都能改程序、读 .env。请照 Windows 部署页用 icacls 收紧目录权限。
迁移
无。核心没有新迁移,官方插件也没有。
不兼容的部署变化
无。没有新的环境变量,Node 下限没有变。
变化
- 修复:一键升级切换失败、版本指针又写不回去时,站点一直停着。Windows 上
releases\current.json被杀毒软件或别的程序占着超过几秒时,切换失败后的恢复写不了指针,旧版本也不再启动,只能手动重启服务。现在照样把原来的版本起来;指针没写回去时,结果里写明重启服务之前要把current.json改成指向哪个版本。升级和回滚都是这样。 - 修复:Windows 上准备升级时,解压完报"管理操作失败"。杀毒软件会扫刚解压的发行包,扫完之前目录改不了名。原来最多等约 4.5 秒,实测卡巴斯基要 5 秒多;现在最多等约 55 秒。
- 修复:后台回滚以后一直停在"正在回到 …"。服务器的钟比浏览器慢一秒多时(Windows 上常见),页面认不出回滚的结果,五分钟后才提示去服务器上看。现在看结果有没有变,不再比时间。
- 修复:没有权限连接管理进程时被当成"没在运行"。在没提升的 PowerShell 里对以 LocalSystem 运行的 Windows 服务执行命令行,原来
releases显示"管理进程:未运行",import blessing-skin会照常开始导入(服务其实在跑)。现在报"没有权限连接管理进程",并提示用管理员身份打开 PowerShell。别的系统上没有权限连接控制通道时也一样。 - 管理操作的意外错误带上系统错误码,例如"管理操作失败(EPERM rename),请检查目录权限和发行目录",仍不带路径。
- 启动器强制结束核心时记一条日志:核心 30 秒内没收尾完,或者又按了一次 Ctrl+C,日志里会记"强制结束",不再看起来像核心崩了。
- 后台发通知:指定用户改成搜索选择。按 uid、昵称搜(能看到用户邮箱的管理员还能按邮箱搜),选中的用户显示成可以删除的小卡片,最多 50 个;从用户详情页点进来时已经选好这个用户。原来要先去用户列表查 uid,再一行一个填进文本框。
- 修复:后台发完通知,标题框马上标红报"必填"。
- 注册和重设密码页加了密码强度指示。只是提示,弱密码照样能提交。
- 表单的校验提示(没填、格式不对、太短、超出范围)改用站点的文案,原来跟随浏览器的语言,可能和页面对不上。
- 后台的验证码设置说明写明 reCAPTCHA 的私密密钥在 Google Cloud 控制台里叫"旧版密钥",以及去哪里找。
- 文档:Windows 部署页补上实测结果,包括 Ctrl+C、关窗口和 NSSM 的停止顺序,
nssm stop会先返回,服务的命令行要以管理员身份运行;反向代理页补上全站 CSP 下 Cloudflare 的 Bot Fight Mode、Web Analytics 的实测结果。
已知的限制
- 管理进程里的修复(上面前四条)要等升级到 0.7.2、再重启一次服务后才生效:升级用的是在用版本的管理进程。Windows 上从 0.7.1 准备升级时报"管理操作失败",多半是杀毒软件还没扫完,再点一次"准备升级"。
- 0.6.0 的更新页查到新版本后,先刷新一下页面,再点"准备升级到 0.7.2"(0.7.0 修了这个问题,但 0.6.0 的后台没有这个修复)。
- 验证码服务商的官方测试密钥返回固定的主机名,过不了主机名核对,后台测试会显示"没有通过"。测试请用真实密钥。
- 三家验证码共用一对站点密钥和私密密钥,换服务商要重新填写。
- 在全站 CSP 下,Turnstile 的挂件会在浏览器控制台报
connect-src拦下了data:。这条报错来自 Cloudflare 自己的 iframe 的 CSP,和站点无关,不影响验证。 - 已经在真实环境里实测过:宝塔、1Panel、MCSManager、systemd(权限分离)、Windows 控制台和 NSSM 下的一键升级和回滚;全站 CSP 下的三家验证码、Cloudflare 的 Bot Fight Mode 和 Web Analytics。还没实测:Docker 里导入、systemd 单元的开机自启、宝塔和 1Panel 申请免费证书。