开机动画 1.1.0
大文件现在真的能装上了。
1.0.0 的下载是单连接、无续传、无重试 —— 实测在国内下载 51.8 MB 的社区片头会在 26 MB 处断掉,
而断了就只能从头再来,等于把 4K 原画排除在可用范围之外。
1.1.0 换成 断点续传 + 自动重试:分块读 → 服务器支持 HTTP Range 就接着下 →
中断按 2/4/6/8/10 秒退避重试(最多 6 轮)→ 每轮核对字节数 → 最后仍以 sha256 兜底。
下载这个文件(发给客户的唯一文件)
BootAnimation-Setup.exe(32.41 MB)—— 播放器和四段片头都在里面。
- 双击安装 → 选一段片头 → 完成
- 不需要管理员权限,不需要安装 .NET 运行时
- 第一次运行会有 SmartScreen 提示(安装包没有代码签名),点 更多信息 → 仍要运行
这一版改了什么
| 下载 | 支持 HTTP Range 断点续传;中断后自动退避重试(最多 6 轮);单次读超时 60 秒,卡住就重试而不是一直等 |
| 界面 | 进度条旁会显示「连接中断,已保留 26.0 MB,4 秒后自动续传(第 3/6 轮)…」,不再是一句干巴巴的失败 |
| 失败 | 屡次中断时会保留已下载的部分,再点一次从断点继续(不再从头开始) |
| 安全 | 仍然只接受 https 直链;sha256 + 字节数双重校验,不符就删除、绝不安装 |
怎么验证它真的会续传
仓库里带了测试服务器,它故意在传输中途掐断连接:
# 前两轮各发 1 MB 就掐断,之后正常
node tools\serve-test.mjs "D:\某个视频.mp4" 8899 2 1048576然后用一个指向它的 bootanim://install?... 链接唤起客户端(需要 #if BATEST 的测试构建,
见 src/Community.cs 里的说明),日志里会依次出现:
已收 1048576 字节,等待 2 秒后续传
续传:本地已有 1048576 字节,发送 Range=1048576-(HTTP 206)
已收 2097152 字节,等待 4 秒后续传
续传:本地已有 2097152 字节,发送 Range=2097152-(HTTP 206)
社区片段安装完成 <id>(3252011 字节)
1.1.0 发布前就是这么验的。
配套的社区改动
同一批改动里,社区的投稿上限从 100 MB 提到 2 GB(对齐 GitHub Release 的单文件上限),
投稿机器人下载也支持续传。超过 25 MB 的 4K 原画现在有明确路径:
把视频上传到你自己仓库的 Releases(单文件最大 2 GB,免费),再把直链贴进投稿表单 ——
Issue 附件上限就是 25 MB,拖进去会直接上传失败。
校验下载完整性
BootAnimation-Setup.exe
大小 33,987,072 字节 (32.41 MB)
sha256 7a12c62f67a053804029fa3fece5ea76a16314609116058545db6fb74d173185
Get-FileHash .\BootAnimation-Setup.exe -Algorithm SHA256它做什么,不做什么
做:登录 Windows 后全屏播放你选的那段片头,播完自动消失。按 Esc 或点一下画面随时退出。
不做:不改开机画面、不碰系统引导、不改 Winlogon / Shell、不装驱动、不要管理员权限。
只动三处(程序目录、一条 HKCU 自启键值、一个数据目录),卸载时都会清掉(数据目录保留你的选片)。