# 飞牛文件工具箱 **Repository Path**: datouxiangzi/feiniu-file-toolbox ## Basic Information - **Project Name**: 飞牛文件工具箱 - **Description**: 飞牛文件管理工具,提供文件去重和批量重命名功能 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-01-14 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件工具箱 (File Toolbox) fnOS 文件管理工具,提供文件去重、批量重命名、空文件夹清理等功能。 ## 功能特性 ### 📁 文件去重 - 扫描指定目录查找重复文件 - 支持 MD5/SHA256 哈希算法 - 快速哈希 + 完整哈希二次校验,避免误删 - 扫描历史记录,可复用之前的扫描结果 - 文件类型统计(视频、音频、图片、文档等) ### ✏️ 批量重命名 - 支持剧集命名模板(如 `剧名.S01E01.mp4`) - 自动识别文件中的集数 - 重命名预览,确认后执行 - 支持撤销操作,可恢复原文件名 ### 🗂️ 空文件夹清理 - 扫描空文件夹和垃圾目录 - 智能分类:缓存、构建产物、系统目录、媒体目录 - 按分类筛选,批量删除 ### 📊 大文件查找 - 扫描超过指定大小的文件 - 按大小排序,快速定位占用空间的文件 ### 🗑️ 回收站 - 删除的文件移入回收站,可恢复 - 记录文件原始路径,支持恢复到原位置 - 支持恢复到指定目录 - 永久删除或清空回收站 ### ⏰ 定时任务 - 支持 Cron 表达式配置 - 自动执行扫描任务 - 显示下次运行时间 ### 📋 操作日志 - 记录所有操作历史 - 便于追溯和审计 ## 技术栈 - **后端**: Python Flask - **前端**: Vue 3 + Element Plus - **数据库**: SQLite - **任务调度**: APScheduler ## 安装 ### 依赖安装 ```bash cd app/server pip install -r requirements.txt ``` ### 运行 ```bash cd app/server python app.py ``` 服务默认运行在 `http://127.0.0.1:5678` ## API 接口 ### 认证 - `GET /api/auth/status` - 检查认证状态 - `POST /api/auth/setup` - 首次设置密码 - `POST /api/auth/login` - 登录 - `POST /api/auth/verify` - 验证 token ### 扫描 - `POST /api/scan/start` - 开始扫描 - `GET /api/scan/progress` - 获取扫描进度 - `GET /api/scan/history` - 获取扫描历史 - `DELETE /api/scan/` - 删除扫描记录 - `GET /api/scan//statistics` - 获取文件统计 ### 去重 - `GET /api/dedup/duplicates` - 获取重复文件 - `POST /api/dedup/delete` - 删除文件 ### 重命名 - `GET /api/rename/files` - 列出目录文件 - `POST /api/rename/preview` - 预览重命名 - `POST /api/rename/execute` - 执行重命名 - `GET /api/rename/history` - 重命名历史 - `POST /api/rename/undo/` - 撤销重命名 ### 回收站 - `GET /api/trash/list` - 列出回收站文件 - `POST /api/trash/restore` - 恢复到指定目录 - `POST /api/trash/restore-original` - 恢复到原位置 - `POST /api/trash/delete` - 永久删除 - `POST /api/trash/clear` - 清空回收站 ### 清理 - `POST /api/cleanup/empty-folders/start` - 扫描空文件夹 - `GET /api/cleanup/empty-folders/status` - 扫描状态 - `POST /api/cleanup/empty-folders/delete` - 删除空文件夹 - `POST /api/cleanup/large-files/start` - 扫描大文件 - `GET /api/cleanup/large-files/status` - 扫描状态 ### 定时任务 - `GET /api/tasks` - 任务列表 - `POST /api/tasks` - 创建任务 - `DELETE /api/tasks/` - 删除任务 - `POST /api/tasks//toggle` - 启用/禁用任务 ## 安全特性 - JWT 认证 - 路径安全验证,防止路径遍历攻击 - 禁止访问系统目录 - CGI 代理安全过滤 ## 目录结构 ``` app/ ├── server/ # 后端代码 │ ├── app.py # Flask 应用入口 │ ├── config.py # 配置 │ ├── database.py # 数据库 │ ├── middleware.py # 中间件 │ ├── routes/ # API 路由 │ ├── services/ # 业务逻辑 │ └── tests/ # 测试 ├── ui/ # CGI 代理 │ └── index.cgi └── www/ # 前端静态文件 ├── index.html ├── css/ ├── js/ └── images/ ``` ## License MIT