Skip to content

🔥Free-FS 开源文件管理系统:基于 Spring Boot 3.5 + MyBatis Flex + MySQL + Redis 的企业级网盘系统。支持分片上传、断点续传、秒传、文件分享、在线预览。集成阿里云OSS、七牛云Kodo、MinIO、本地存储等多种存储方式。提供文件管理、用户权限、存储配额、回收站等完整功能。适用于企业网盘、文件管理、云存储、资源管理等场景。

License

Notifications You must be signed in to change notification settings

dromara/free-fs

Repository files navigation

Free FS Logo

Free FS

现代化文件管理网盘系统

一个基于 Spring Boot 3.x 的企业级文件管理网盘系统后端,专注于提供高性能、高可靠的文件存储和管理服务。

Downloads Downloads

star fork GitHub stars GitHub forks AUR

问题反馈 · 功能请求

项目文档


源码地址

Gitee:https://gitee.com/dromara/free-fs

GitHub:https://github.com/dromara/free-fs

前端仓库

🚀 推荐仓库 (最新)

Free FS/free-fs-frontend


⚠️ 已废弃仓库 (停止更新)

Deprecated

Free FS/free-fs-vue


特性

核心亮点

  • 大文件上传 - 分片上传、断点续传、秒传功能,支持 TB 级文件
  • 实时上传进度 - 实时推送上传进度,精确到分片级别
  • 秒传功能 - 基于 MD5 双重校验,相同文件秒级完成
  • 插件化存储 - SPI 机制热插拔,5 分钟接入一个新存储平台
  • 模块化架构 - 清晰的分层设计,易于维护和扩展
  • 在线预览 - 支持多种文件格式的在线预览
  • 安全可靠 - JWT 认证、权限控制、文件完整性校验

功能特性

  • 文件管理

    • 文件上传(分片上传、断点续传、秒传)
    • 文件预览
    • 文件下载
    • 文件夹创建与管理
    • 文件/文件夹重命名、移动
    • 文件分享/授权码分享
    • 文件删除
  • 回收站

    • 文件还原(支持批量操作)
    • 彻底删除(支持批量操作)
    • 一键清空回收站
    • 自动清理机制
  • 存储平台

    • 支持多存储平台(本地、MinIO、阿里云 OSS、七牛云 Kodo、S3 体系等)
    • 一键切换存储平台
    • 平台配置管理
    • 存储空间统计

预览支持

系统默认支持以下多种文件类型的预览

  • 图片: jpg, jpeg, png, gif, bmp, webp, svg, tif, tiff
  • 文档: pdf, doc, docx, xls, xlsx, csv, ppt, pptx
  • 文本/代码: txt, log, ini, properties, yaml, yml, conf, java, js, jsx, ts, tsx, py, c, cpp, h, hpp, cc, cxx, html, css, scss, sass, less, vue, php, go, rs, rb, swift, kt, scala, json, xml, sql, sh, bash, bat, ps1, cs, toml Markdown: md, markdown
  • 音视频: mp4, avi, mkv, mov, wmv, flv, webm, mp3, wav, flac, aac, ogg, m4a, wma
  • 压缩包: zip, rar, 7z, tar, gz, bz2 (支持查看目录结构)
  • 其他: drawio

快速开始

环境要求

  • JDK >= 17
  • Maven >= 3.8
  • MySQL >= 8.0 或 PostgreSQL >= 14
  • Redis

安装

# 克隆项目
git clone https://gitee.com/dromara/free-fs.git

# 进入项目目录
cd free-fs

# 编译项目
mvn clean install -DskipTests

配置

  1. 初始化数据库

    # mysql
    mysql -u root -p < _sql/mysql/free-fs.sql
    # postgresql
     psql -U postgres -c "CREATE DATABASE free-fs;"
     psql -U postgres -d free-fs -f _sql/postgresql/free-fs_pg.sql
  2. 修改配置文件

    修改 fs-admin/src/main/resources/application-dev.yml 中的数据库和 Redis 配置

运行

# 启动应用
cd fs-admin
mvn spring-boot:run

# 或使用 IDE 运行 FreeFsApplication

访问:

默认账号

账号 密码
admin admin

界面预览

功能 效果图 效果图 效果图
登录 login.png register.png forget_password.png
首页 dashboard.png
我的文件 grid_file.png file.png
回收站 recycle.png recycle_clear.png
分享文件 share.png share_create.png share_list.png
移动文件 move.png
传输 transmission.png
存储平台 storage.png add_storage.png enable_storage.png
个人信息 profile.png profile_auth.png

项目结构

free-fs/
├── fs-admin/                    # Web 管理模块
├── fs-dependencies/             # 依赖版本管理(BOM)
├── fs-framework/                # 框架层
│   ├── fs-common-core/          # 公共核心模块
│   ├── fs-notify/               # 通知模块
│   ├── fs-orm/                  # ORM 配置模块
│   ├── fs-preview/              # 预览封装模块
│   ├── fs-redis/                # Redis 配置模块
│   ├── fs-security/             # 安全认证模块
│   ├── fs-swagger/              # API 文档配置
│   ├── fs-sse/                  # SSE 支持
│   └── fs-storage-plugin/       # 存储插件框架
│       ├── storage-plugin-core/        # 插件核心接口
│       ├── storage-plugin-local/       # 本地存储插件
│       ├── storage-plugin-aliyunoss/   # 阿里云 OSS 插件
│       └── storage-plugin-rustfs/      # RustFS 插件
└── fs-modules/                  # 业务模块
    ├── fs-file/                 # 文件管理模块
    ├── fs-storage/              # 存储平台管理模块
    ├── fs-system/              # 系统管理模块
    ├── fs-log/                 # 日志模块
    └── fs-plan/                # 计划任务模块

贡献指南

我们欢迎所有的贡献,无论是新功能、Bug 修复还是文档改进!

贡献步骤

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的改动 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

代码规范

  • 遵循阿里巴巴 Java 开发手册
  • 使用 Lombok 简化代码
  • 编写清晰的注释
  • 提交信息遵循 Conventional Commits

Commit 规范

feat: 新功能
fix: 修复 Bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
perf: 性能优化
test: 测试相关
chore: 构建/工具链更新

问题反馈

如果你发现了 Bug 或有功能建议,请通过以下方式反馈:


开源协议

本项目采用 Apache License 2.0 协议开源。


鸣谢


友情链接


联系方式

wx.png

  • 微信群:

wx.png

  • 微信公众号:

wp.png


❤ 捐赠

如果你认为 free-fs 项目可以为你提供帮助,或者给你带来方便和灵感,或者你认同这个项目,可以为我的付出赞助一下哦!

请给一个 ⭐️ 支持一下!

pay.png

Made with ❤️ by @xddcode

About

🔥Free-FS 开源文件管理系统:基于 Spring Boot 3.5 + MyBatis Flex + MySQL + Redis 的企业级网盘系统。支持分片上传、断点续传、秒传、文件分享、在线预览。集成阿里云OSS、七牛云Kodo、MinIO、本地存储等多种存储方式。提供文件管理、用户权限、存储配额、回收站等完整功能。适用于企业网盘、文件管理、云存储、资源管理等场景。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •