Repository navigation
v1.1.0
v1.1.0
移动端适配、审计修复与上传核心重构。
下载
file-server-1.1.0-win64.zip 解压后包含:
| 文件 | 说明 |
|---|---|
file-server.exe |
Windows x64,MSVC 2022 Release 构建,静态链接 CRT,无需安装 VC++ 运行库 |
config.json |
默认配置:8080 端口、数据目录 ./data、分片 16 MB |
README.md |
完整文档 |
LICENSE |
MIT |
file-server.exe -c config.json然后用浏览器打开 http://127.0.0.1:8080/。首次运行会在 ./data 下自动创建 files/、tmp/、meta.db。
自 v1.0.0 以来的变更
- 移动端适配:文件列表、上传进度、对话框和操作菜单在手机/平板上可用,390px 宽度下布局正常。
- 代码审计修复:覆盖路径校验、下载锁、会话清理、审计写入等审计发现项。
- 上传核心重构:
upload_chunk的临时文件清理改由PartFileRAII 守卫负责,函数拆分为校验、写入、提交三段;新增失败路径不再可能遗漏fclose或残留.tmp。 - 可测试性:抽出与框架无关的
BodySource接口,BodyGate在传输层实现它;upload_chunk新增 14 个单元测试(长度不符、短包、长包、重复分片、位图更新、零字节会话、未完成合并等)。 - 版本号更新为
1.1.0(--version与管理接口同步)。
功能
- 分片上传 + 断点续传,每片一个独立请求、请求体为原始字节;浏览器端保持 4 个分片并发
- 流式下载 + HTTP Range,正确返回
206/Content-Range,多区间与越界返回416 - 文件与目录管理:列表、新建多级目录、重命名、删除、覆盖上传(临时文件合并后原子替换)
- SQLite 索引的全库文件名搜索
- 全量审计日志(成功与失败都记录),按天数与容量两条策略滚动清理
- 仅本机可访问的管理后台:状态页、审计查询、删除
验证情况
- 单元测试:94 用例 / 589 断言通过
- 接口测试:66 项通过,0 失败,1 项跳过(磁盘写满用例需要一块接近写满的卷)
- 4 GiB 大文件「上传 → 强杀进程 → 重启 → 续传 → 合并 → 校验」验收通过
- 构建:MSVC 2022,
/W4,0 error / 0 warning