支持大型文件(100GB+)的智能刮削、去重、重命名等功能。
- 智能识别电影/剧集
- TMDB/豆瓣元数据获取
- 自动下载海报、背景图
- 生成 NFO 文件(Kodi/Jellyfin 兼容)
- 批量刮削支持
- 流式哈希计算(支持 100GB+ 文件)
- 快速哈希(xxHash)和精确哈希(MD5)
- 扫描历史缓存
- 并行哈希计算(多核加速)
- 数据库级分组优化
- 剧集命名模板
- 自动识别集数
- 预览确认
- 批量操作
- 文件移动/复制(支持大文件流式复制)
- 回收站功能(安全删除)
- 批量操作
- 文件列表管理
- 按大小筛选
- 可视化展示
- 快速定位
- 智能分类(缓存、构建产物、系统目录)
- 批量删除
- 深度筛选
- Rust - 系统级性能,内存安全
- Axum - 高性能异步 Web 框架
- Tokio - 异步运行时
- SQLx - 异步 SQL 工具包(SQLite)
- FFmpeg - 视频信息提取
- WebSocket - 实时进度推送
- React 18 - UI 框架
- Vite - 构建工具
- TypeScript - 类型安全
- Ant Design - UI 组件库
- Socket.io-client - WebSocket 客户端
- React Query - 数据获取和缓存
- react-window - 虚拟滚动
- 文件扫描: 5000+ 文件/秒(5x 提升)
- 数据库插入: 20000+ 条/秒(20x 提升)
- 数据库查询: 5-10x 提升(索引优化)
- 去重查询: 1-2秒(10万文件,5-10x 提升)
- 哈希计算: 500MB/秒(多核,10x 提升)
- 首屏加载: 0.5-1秒(3x 提升)
- 代码分割: 50-70% 首屏减少
- 请求优化: 30-50% 请求减少
- 虚拟滚动: 支持万级数据流畅渲染
- ✅ 流式处理(避免内存溢出)
- ✅ 异步并发(基于 Tokio)
- ✅ 批量操作(减少数据库交互)
- ✅ 并行计算(充分利用多核)
- ✅ 代码分割(优化前端加载)
- ✅ 请求去重和防抖(减少无效请求)
cine/
├── backend/ # Rust 后端
│ ├── src/
│ │ ├── main.rs
│ │ ├── handlers/ # API 处理器
│ │ ├── services/ # 业务逻辑
│ │ ├── models/ # 数据模型
│ │ ├── utils/ # 工具函数
│ │ └── websocket/ # WebSocket 处理
│ ├── tests/ # 测试文件
│ │ ├── unit/ # 单元测试
│ │ └── integration/ # 集成测试
│ └── benches/ # 性能测试
├── frontend/ # React 前端
│ ├── src/
│ │ ├── pages/ # 页面组件
│ │ ├── components/ # 通用组件
│ │ ├── api/ # API 客户端
│ │ ├── hooks/ # React Hooks
│ │ └── config/ # 配置文件
│ └── tests/ # 测试文件
│ └── e2e/ # E2E 测试
└── docs/ # 文档
- Rust 1.70+
- Node.js 18+
- FFmpeg (用于视频信息提取)
- SQLite 3.x
- 克隆项目
git clone <repository-url>
cd cine- 后端设置
cd backend
cargo build- 前端设置
cd frontend
npm install- 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置 TMDB_API_KEY- 启动服务
终端 1 - 后端:
cd backend
cargo run终端 2 - 前端:
cd frontend
npm run dev- 访问应用 打开浏览器访问: http://localhost:5173
后端测试
cd backend
cargo test --lib # 单元测试
cargo test --test '*' # 集成测试
cargo bench # 性能测试前端测试
cd frontend
npm test # 单元测试
npm run test:e2e # E2E 测试详细说明请查看 测试报告
见上方"快速开始"部分
见 部署指南
docker-compose up -d# 使用 fnpack 打包
./scripts/fnpack.sh项目已完成深度性能优化,包括:
- ✅ 文件扫描优化(O(2n) → O(n))
- ✅ 数据库批量插入(20x 提升)
- ✅ 数据库索引优化(5-10x 提升)
- ✅ 去重算法优化(数据库分组,5-10x 提升)
- ✅ 并行哈希计算(10x 提升)
- ✅ 前端代码分割(50-70% 首屏减少)
- ✅ API 请求去重和防抖(30-50% 请求减少)
- ✅ 虚拟滚动组件(支持万级数据)
- 文件扫描和索引
- 流式哈希计算
- 视频信息提取
- 元数据刮削(TMDB)
- 批量重命名
- 文件去重
- 文件移动/复制
- 回收站功能
- 空文件夹清理
- 字幕文件匹配
- 缓存机制
- 性能优化
- 完整测试体系(96+ 测试用例)
- 虚拟滚动集成到页面
- 任务队列系统
- 分布式处理支持
- 插件系统
欢迎提交 Issue 和 Pull Request!
MIT License
- TMDB - 元数据来源
- FFmpeg - 视频处理
- Ant Design - UI 组件库
版本: v1.2.0