把 10 GB 以上的视频切成每段不超过 10 GB 的无损片段,并在需要时逐字节还原为原片。
Sunder 是一个完全离线的 Windows 桌面工具。它不做转码、不上传文件、不改变一个字节:分段是严格的字节切分,合并后与原文件 SHA-256 一致。适合把超大视频放进云盘、移动硬盘、聊天工具或单文件有上限的存储。
界面为 Claude 式的暖纸色与赤陶色,使用衬线标题与简洁的任务卡片,只保留必要的操作与状态说明。
- 按 10 GB 硬上限分段:默认每段最多 10,000,000,000 字节;最后一段为余量。任何片段都不会超过上限。
- 逐字节还原:合并时依次校验每个片段的 SHA-256 与整片的 SHA-256,全部通过才发布还原文件。
- 边写边校验:分段与合并都在流式读写中计算哈希,不把整个文件读入内存,10 GB 文件的内存占用也在十余 MB 量级。
- 断点安全:每个片段先写临时文件,完成后原子改名;清单最后写入。取消或失败会自动清理本次产生的临时文件。
- 不覆盖:分段文件夹与还原文件重名时自动追加
(2)、(3)。 - 历史记录:成功完成的分段与还原会记录在本地,可随时查看并一键打开输出文件夹。
- 完全离线:无网络请求、无遥测、无外部依赖。
- 把
dist/Sunder文件夹整体拷贝到任意位置,例如D:\Apps\Sunder。 - 双击
Sunder.exe。 - 选择视频与输出文件夹,点击“开始分段”。
还原时切到“还原”,选择 sunder-manifest.json 或任意 .part001 片段,选择输出文件夹,点击“开始还原”。
完成的任务会出现在“历史记录”中,可直接打开对应的输出文件夹。
需要 Node.js 20+(开发时使用 Node 24 / Electron 45):
cd sunder
npm install
npm start打包便携版:
npm run package产物在 dist/Sunder/,可整体拷走,无需安装。
Sunder 的片段是原始视频的字节区间,不是可独立播放的剪辑。这是为了满足“还原后与原片完全一致”。还原时会先逐段核对大小与 SHA-256,再校验整片哈希:
具体取舍:
- 分段不会重新封装或编码,所以单个片段通常不能直接播放;请把整套片段放在一起,用 Sunder 还原后再播放。
- 恢复后的文件与原文件逐字节相同,SHA-256 相同。
- 片段、清单请勿改名或移动;清单按文件名和哈希定位片段。
每个分段目录形如 影片.mp4.sunder/:
影片.mp4.sunder/
├── sunder-manifest.json
├── 影片.mp4.part001
├── 影片.mp4.part002
└── 影片.mp4.part003
清单记录原始文件名、大小、整片 SHA-256、每段大小与 SHA-256。还原时会先核对清单,再逐段拼接校验,任何不一致都会中止并删除临时输出。
每次成功完成分段或还原,Sunder 都会在本地保存一条记录,包括源文件名、任务类型、片段数、大小、时间与输出位置。历史记录只保存在本机,不包含文件内容;点击“打开文件夹”可直接定位输出目录。
npm test引擎测试 18/18 通过;另外做了四项端到端验收(详见 docs/TEST-REPORT.md):
- 10 GB + 1 字节实测:10,000,000,001 字节的源文件切成 2 段(10,000,000,000 + 1 字节),还原后 10,000,000,001 字节,整片 SHA-256 一致,
verified: true。 - Electron IPC 实测:通过真实 preload/contextBridge 完成 25 MiB 文件的分段、清单核对与还原,还原文件 SHA-256 与源文件一致。
- 历史记录实测:真实 Electron 环境下完成一次分段与还原后,历史记录写入两条记录,界面列表正确显示并可打开输出文件夹;无效记录 ID 返回
HISTORY_NOT_FOUND。 - 便携版冒烟测试:
dist/Sunder/Sunder.exe正常启动,字体加载完成,窗口尺寸与 IPC 版本信息正确。
测试覆盖:分段大小与命名、清单结构、逐字节还原、哈希篡改检测、片段缺失、取消清理、重名避让与进度单调性。
src/main/engine.js 流式分段 / 还原引擎、清单与校验
src/main/main.js Electron 主进程、IPC、任务管理与窗口
src/main/history.js 本地历史记录存储(成功任务)
src/preload/preload.js contextBridge 安全桥接
src/renderer/ 无构建步骤的 HTML/CSS/JS 界面
assets/fonts/ Newsreader + Instrument Sans(SIL OFL)
scripts/package.js 便携版打包
test/ node:test 引擎测试
docs/ 工程契约 / 视觉规范 / 截图
- Windows 10 / 11 x64(便携版)。
- 源码可在安装 Electron 的 macOS / Linux 上运行,但本项目只对 Windows 便携版做了验证。
- 单段上限固定为 10,000,000,000 字节;当前版本不提供自定义分片大小。
代码以 MIT 许可发布。字体 Newsreader 与 Instrument Sans 依 SIL Open Font License 1.1 使用,许可文本见 assets/fonts/。


