# file-manager **Repository Path**: dushu/file-manager ## Basic Information - **Project Name**: file-manager - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-06 - **Last Updated**: 2026-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件管理系统 多用户文件管理与共享平台,支持文件上传、预览、共享、在线编辑、二维码手机上传等功能。 ## 功能特性 ### 文件管理 - 真实目录结构存储,支持多级子目录 - 文件上传(拖拽 / 选择文件 / 手机扫码上传) - 文件下载、重命名、删除(移入垃圾桶) - 新建 Markdown 文件,在线左右分栏编辑器(实时预览) - 文件夹递归大小统计 - 图标视图 / 列表视图切换 - 按名称、时间、大小、类型排序 - 拖拽文件到文件夹移动,拖拽文件到页面上传 - 框选文件批量操作(删除、共享、下载压缩包) - 全局搜索(多关键词、模糊匹配、高亮显示) - 7 种颜色标记(类似 macOS 标签),侧边栏按颜色筛选 ### 文件预览 - 图片:卡片缩略图 + 弹窗大图 - 视频:在线播放器(mp4、avi、mov、mkv、webm 等) - 音频:在线播放,打开自动播放(mp3、wav、flac、aac 等) - PDF:iframe 内嵌预览 - Markdown:渲染后预览 - 代码:语法高亮着色(30+ 种语言,highlight.js) ### 共享与协作 - 文件共享给所有用户(只读 / 可编辑) - 共享文件可复制到自己的空间 - 可编辑权限的共享文件支持在线修改 ### 用户系统 - 多用户注册 / 登录,JWT 认证(永久有效) - 管理员 / 普通用户角色 ### 系统监控 - 服务器状态(CPU、内存、磁盘、运行时间) - 完整审计日志(登录、上传、下载、预览、编辑、删除、共享、移动、恢复等) - 管理员可筛选所有用户日志,支持一键清空 ### 部署 - 一键部署脚本 - Docker / docker-compose 支持 - Nginx 反向代理配置 ## 技术栈 - **后端**:Node.js 16+ / Express - **数据库**:SQLite(sql.js,纯 JS,无需编译) - **前端**:原生 HTML / CSS / JavaScript(SPA,无框架) - **图标**:PNG 文件图标(64 种文件类型) ## 快速开始 ### 一键部署 ```bash cd file-manager bash deploy.sh # 或手动执行: npm install npm start ``` 访问 `http://localhost:9000` 默认账号:`admin` / `admin123` ### Docker 部署 ```bash docker-compose build --no-cache docker-compose up -d ``` ### Nginx 反向代理 ```bash cp nginx.conf /etc/nginx/conf.d/file-manager.conf nginx -t systemctl reload nginx ``` ## 目录结构 ``` file-manager/ ├── server.js # 主入口 ├── db.js # SQLite 数据库 ├── package.json ├── deploy.sh # 一键部署 ├── Dockerfile ├── docker-compose.yml ├── nginx.conf # Nginx 配置 ├── .gitignore ├── middleware/ │ └── auth.js # JWT 认证 ├── routes/ │ ├── auth.js # 登录注册 │ ├── files.js # 文件操作 │ ├── logs.js # 审计日志 │ ├── qrcode.js # 二维码上传 │ └── system.js # 系统监控 └── public/ ├── index.html # SPA 入口 ├── mobile-upload.html # 手机上传页 ├── css/style.css # 样式 ├── js/app.js # 前端逻辑 ├── icon/ # 文件类型图标(64 个) ├── images/logo.png # Logo └── favicon.ico ``` ## 环境变量 | 变量 | 默认值 | 说明 | |------|--------|------| | `PORT` | `9000` | 服务端口 | | `JWT_SECRET` | 内置默认值 | JWT 密钥,生产环境建议修改 | ## 浏览器支持 - Chrome / Edge 88+ - Firefox 85+ - Safari 14+ - 移动端浏览器 ## 开源协议 MIT License