lou
|
a81fcfdefa
|
严格隔离: 每账户独立空间, admin 不再全览 (只 admin/无主旧文件); 测试更新
|
2026-08-10 18:45:22 +08:00 |
|
lou
|
4be951fe4a
|
api: GET /api/auth/me 当前用户端点; README
|
2026-08-10 15:36:36 +08:00 |
|
lou
|
6b0d163ac0
|
存储按用户分目录: storage/用户名/日期/任务ID (物理隔离, 旧数据兼容); 测试断言 admin 目录
|
2026-08-10 15:31:04 +08:00 |
|
lou
|
b79aab5c4e
|
账号体系: users 表 + auth.py(pbkdf2) + 注册/登录/注销端点 + 文件按用户隔离(admin 全部) + 测试 12 项
|
2026-08-10 15:27:45 +08:00 |
|
lou
|
7e6c7d64c6
|
README: 服务端完整文档; LICENSE: MIT
|
2026-08-10 14:46:24 +08:00 |
|
lou
|
cd4292e70b
|
业务日志: 端点事件记录 (init/chunk/complete/ls/download/delete/quota + 客户端 IP); watchdog 防重复改 flock 锁 (pgrep 会误伤调用链)
|
2026-08-10 13:47:21 +08:00 |
|
lou
|
cac0af49f3
|
自启动+看门狗: start.sh 幂等拉起服务+watchdog, watchdog 30s 检查自动恢复
|
2026-08-10 12:45:21 +08:00 |
|
lou
|
da087591ed
|
task_manager: 文件名清洗不删路径分隔符 (加密名 URL-safe base64, 路径安全由客户端兜底); 测试 9 项
|
2026-08-10 02:10:07 +08:00 |
|
lou
|
cb80b54285
|
安全加固: init 文件名清洗(255/去路径分隔符) + 卷数上限 10000 + body 1MB 上限; 测试 9 项
|
2026-08-10 02:00:10 +08:00 |
|
lou
|
95ced31222
|
quota: GET /api/quota (used=files size 总和 / quota 默认 10GB SZ_QUOTA env / remain / percent); 测试 7 项
|
2026-08-10 01:42:51 +08:00 |
|
lou
|
dbf32fe55e
|
api: del 支持单文件路径 (旧架构记录); 测试 7 项含 del 断言
|
2026-08-10 01:40:45 +08:00 |
|
lou
|
34496b4bf7
|
零合并重构: complete 只校验卷齐+卷目录 move 入库 (秒回); 下载改逐卷 GET chunk/{n}; 删 assembler; 状态机 uploading->storing->done; 测试 7 项
|
2026-08-10 01:30:19 +08:00 |
|
lou
|
3c4e683210
|
api: 下载响应头 X-Chunk-Count (卷数); db: get_file 带 chunk_count
|
2026-08-10 01:24:18 +08:00 |
|
lou
|
fc522afbaf
|
零知识重构: 服务端只存密文 (删 decrypt/keyring/unpacker), complete 合并即存, download 返回密文+enc_params 头, 全端点 Bearer token 认证; 测试 7 项
|
2026-08-10 01:06:33 +08:00 |
|
lou
|
eba9d36450
|
api: complete 幂等 (已完成直接返回 file_id, 客户端超时重试不重复入库); db: get_file_by_transfer
|
2026-08-10 01:00:23 +08:00 |
|
lou
|
cf1f143a0c
|
api: 新增 GET /api/files (ls) + GET /api/files/{id} (下载流式返回); db: list_files/get_file; 测试 6 项
|
2026-08-10 00:46:08 +08:00 |
|
lou
|
e30178391b
|
settings: 默认路径去掉 server/ 前缀 (独立项目根后遗留)
|
2026-08-10 00:22:31 +08:00 |
|
lou
|
680fbaaa5f
|
db 层换 SQLite: PRoot 容器 PG fsync 卡死, 轻量文件库 (表结构兼容, 可切回 PG)
|
2026-08-10 00:21:22 +08:00 |
|
lou
|
9924e5fb8e
|
unpacker/decrypt: 裸 dict 泛型补全 dict[str,Any]
|
2026-08-09 23:36:08 +08:00 |
|
lou
|
e782a92a0c
|
api: _sha256 补类型注解 str|Path
|
2026-08-09 23:35:36 +08:00 |
|
lou
|
554dd34788
|
集成测试: 全链路还原/坏卷409/缺卷409/幂等/404 5项全过 (真实PG+FastAPI+密码学)
|
2026-08-09 23:28:07 +08:00 |
|
lou
|
28654c0056
|
服务端 9 模块骨架: api/receiver/assembler/unpacker/decrypt/storage/db/keyring/task_manager
|
2026-08-09 23:24:03 +08:00 |
|