# free-fs **Repository Path**: domch/free-fs ## Basic Information - **Project Name**: free-fs - **Description**: ๐Ÿ”ฅFree-FS ๅผ€ๆบๆ–‡ไปถ็ฎก็†็ณป็ปŸ๏ผšๅŸบไบŽ Spring Boot 4.x็š„ไผไธš็บง็ฝ‘็›˜็ณป็ปŸใ€‚ๆ”ฏๆŒๅˆ†็‰‡ไธŠไผ ใ€ๆ–ญ็‚น็ปญไผ ใ€็ง’ไผ ใ€ๆ–‡ไปถๅˆ†ไบซใ€ๅœจ็บฟ้ข„่งˆใ€‚้›†ๆˆ้˜ฟ้‡Œไบ‘OSSใ€ไธƒ็‰›ไบ‘Kodoใ€S3ไฝ“็ณปใ€ๆœฌๅœฐๅญ˜ๅ‚จ็ญ‰ๅคš็งๅญ˜ๅ‚จๆ–นๅผใ€‚ๆไพ›ๆ–‡ไปถ็ฎก็†ใ€็”จๆˆทๆƒ้™ใ€ๅญ˜ๅ‚จ้…้ขใ€ๅ›žๆ”ถ็ซ™็ญ‰ๅฎŒๆ•ดๅŠŸ่ƒฝใ€‚้€‚็”จไบŽไผไธš็ฝ‘็›˜ใ€ๆ–‡ไปถ็ฎก็†ใ€ไบ‘ๅญ˜ๅ‚จใ€่ต„ๆบ็ฎก็†็ญ‰ๅœบๆ™ฏใ€‚ - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://free-fs.top - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 551 - **Created**: 2026-07-20 - **Last Updated**: 2026-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Free FS Logo # Free FS ### Modern File Management & Cloud Storage System An enterprise-level file management and cloud storage system backend based on Spring Boot 4.x, focusing on providing high-performance and reliable file storage and management services. Downloads Downloads [![star](https://gitee.com/dromara/free-fs/badge/star.svg?theme=dark)](https://gitee.com/dromara/free-fs/stargazers) [![fork](https://gitee.com/dromara/free-fs/badge/fork.svg?theme=dark)](https://gitee.com/dromara/free-fs/members) [![GitHub stars](https://img.shields.io/github/stars/dromara/free-fs?logo=github)](https://github.com/dromara/free-fs/stargazers) [![GitHub forks](https://img.shields.io/github/forks/dromara/free-fs?logo=github)](https://github.com/dromara/free-fs/network) [![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://gitee.com/dromara/free-fs/blob/master/LICENSE) [Issue Tracker](https://gitee.com/dromara/free-fs/issues) ยท [Feature Request](https://gitee.com/dromara/free-fs/issues/new) [Documentation](https://free-fs.top/) | [ไธญๆ–‡ๆ–‡ๆกฃ](./README.zh-CN.md)
--- ## Repository [Gitee: https://gitee.com/dromara/free-fs](https://gitee.com/dromara/free-fs) [GitHub: https://github.com/dromara/free-fs](https://github.com/dromara/free-fs) ## Frontend Repository ### ๐Ÿš€ Recommended (Latest) [![Free FS/free-fs-frontend](https://gitee.com/xddcode/free-fs-frontend/widgets/widget_card.svg?colors=393222,ebdfc1,fffae5,d8ca9f,393222,a28b40)](https://gitee.com/xddcode/free-fs-frontend.git) --- ## Features ### Core Highlights - **Large File Upload** - Chunked upload, resumable upload, instant upload with TB-level file support - **Real-time Progress** - Real-time upload progress tracking, accurate to chunk level - **Instant Upload** - MD5-based dual verification for instant file completion - **Pluggable Storage** - SPI mechanism for hot-swappable storage, integrate new platforms in 5 minutes - **Workspace** - Multi-workspace support for efficient team collaboration - **Internationalization** - Chinese and English bilingual support, easily extensible - **Modular Architecture** - Clear layered design, easy to maintain and extend - **Online Preview** - Support multiple file formats with anti-hotlink protection - **Secure & Reliable** - JWT authentication, permission control, file integrity verification ### Feature List - **File Management** - File upload (chunked, resumable, instant) - File preview - File download - Folder creation and management - File/folder rename and move - File sharing with access code - File deletion - **Workspace** ๐Ÿ†• - Multi-workspace management - Workspace member management - Role-based access control - Member invitation (email invitation) - Workspace switching - **Team Collaboration** ๐Ÿ†• - Member invitation and management - Role permission assignment - Workspace isolation - Member permission control - **Internationalization** ๐Ÿ†• - Simplified Chinese - English - Extensible for more languages - **Authentication & Authorization** - Username/password login - Email verification code login ๐Ÿ†• - JWT Token authentication - Role-based access control (RBAC) - **Recycle Bin** - File restoration (batch operation supported) - Permanent deletion (batch operation supported) - One-click empty recycle bin - Auto-cleanup mechanism - **Storage Platform** - Multiple storage platforms (Local, MinIO, Aliyun OSS, Qiniu Kodo, S3-compatible, etc.) - One-click platform switching - Platform configuration management - Storage space statistics ### Preview Support **The system supports preview for the following file types by default**: - Images: jpg, jpeg, png, gif, bmp, webp, svg, tif, tiff - Documents: pdf, doc, docx, xls, xlsx, csv, ppt, pptx - Text/Code: 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 - Audio/Video: mp4, avi, mkv, mov, wmv, flv, webm, mp3, wav, flac, aac, ogg, m4a, wma - Archives: zip, rar, 7z, tar (view directory structure, preview files in archive) - Others: drawio --- ## Quick Start ### Requirements - JDK >= 21 - Maven >= 3.8 - MySQL >= 8.0 or PostgreSQL >= 14 - Redis ### Installation ```bash # Clone the repository git clone https://gitee.com/dromara/free-fs.git # Enter project directory cd free-fs # Build the project mvn clean install -DskipTests ``` ### Configuration 1. **Initialize Database** ```bash # MySQL mysql -u root -p < _sql/mysql/free-fs.sql ``` ```bash # PostgreSQL psql -U postgres -c "CREATE DATABASE free-fs;" psql -U postgres -d free-fs -f _sql/postgresql/free-fs_pg.sql ``` 2. **Modify Configuration** Update database and Redis configuration in `fs-admin/src/main/resources/application-dev.yml` ### Run ```bash # Start the application cd fs-admin mvn spring-boot:run # Or run FreeFsApplication in your IDE ``` Access: - Service: http://localhost:8080 - API Documentation: http://localhost:8080/swagger-ui.html ### Default Account | Username | Password | |----------|----------| | admin | admin | --- ## Screenshots | Feature | Screenshot 1 | Screenshot 2 | Screenshot 3 | |---------|-------------|-------------|-------------| | Login | login.png | register.png | forget_password.png | | Dashboard | dashboard.png | | | | My Files | grid_file.png | file.png | | | Recycle Bin | recycle.png | recycle_clear.png | | | File Sharing | share.png | share_create.png | share_list.png | | Move Files | move.png | | | | Transfer | transmission.png | | | | Storage Platform | storage.png | add_storage.png | enable_storage.png | | Profile | profile.png | profile_auth.png | | --- ## Project Structure ``` free-fs/ โ”œโ”€โ”€ fs-admin/ # Web admin module โ”œโ”€โ”€ fs-dependencies/ # Dependency management (BOM) โ”œโ”€โ”€ fs-framework/ # Framework layer โ”‚ โ”œโ”€โ”€ fs-common-core/ # Common core module โ”‚ โ”œโ”€โ”€ fs-notify/ # Notification module (email) โ”‚ โ”œโ”€โ”€ fs-orm/ # ORM configuration โ”‚ โ”œโ”€โ”€ fs-preview/ # Preview wrapper โ”‚ โ”œโ”€โ”€ fs-redis/ # Redis configuration โ”‚ โ”œโ”€โ”€ fs-security/ # Security & authentication โ”‚ โ”œโ”€โ”€ fs-swagger/ # API documentation โ”‚ โ”œโ”€โ”€ fs-sse/ # SSE support โ”‚ โ””โ”€โ”€ fs-storage-plugin/ # Storage plugin framework โ”‚ โ”œโ”€โ”€ storage-plugin-boot/ # Plugin core management โ”‚ โ”œโ”€โ”€ storage-plugin-core/ # Plugin core interface โ”‚ โ”œโ”€โ”€ storage-plugin-local/ # Local storage plugin โ”‚ โ”œโ”€โ”€ storage-plugin-aliyunoss/ # Aliyun OSS plugin โ”‚ โ”œโ”€โ”€ storage-plugin-kodo/ # Qiniu Kodo plugin โ”‚ โ”œโ”€โ”€ storage-plugin-obs/ # Tencent Cloud OBS plugin โ”‚ โ”œโ”€โ”€ storage-plugin-minio/ # MinIO plugin โ”‚ โ””โ”€โ”€ storage-plugin-rustfs/ # RustFS plugin โ””โ”€โ”€ fs-modules/ # Business modules โ”œโ”€โ”€ fs-file/ # File management โ”œโ”€โ”€ fs-storage/ # Storage platform management โ”œโ”€โ”€ fs-system/ # System management (user, workspace, role, permission) โ”œโ”€โ”€ fs-log/ # Logging module โ””โ”€โ”€ fs-plan/ # Scheduled tasks ``` --- ## Contributing We welcome all contributions, whether it's new features, bug fixes, or documentation improvements! ### How to Contribute 1. Fork this repository 2. Create your feature branch (`git checkout -b feature/AmazingFeature`) 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ### Code Standards - Follow Alibaba Java Coding Guidelines - Use Lombok to simplify code - Write clear comments - Follow [Conventional Commits](https://www.conventionalcommits.org/) ### Commit Convention ``` feat: New feature fix: Bug fix docs: Documentation update style: Code formatting refactor: Code refactoring perf: Performance optimization test: Testing related chore: Build/toolchain update ``` --- ## Issue Tracker If you find a bug or have a feature suggestion, please report it via: - [Gitee Issues](https://gitee.com/dromara/free-fs/issues) --- ## License This project is licensed under the [Apache License 2.0](LICENSE). --- ## Acknowledgments - [Spring Boot](https://spring.io/projects/spring-boot) - Thanks to the Spring team - [MyBatis Flex](https://mybatis-flex.com/) - Thanks to the MyBatis Flex team - [Sa-Token](https://sa-token.cc/) - Thanks to the Sa-Token team - All contributors and users --- ## Links - enjoy-iot Open source IoT platform, complete IoT solution - **[https://gitee.com/open-enjoy/enjoy-iot](https://gitee.com/open-enjoy/enjoy-iot)** --- ## Contact - GitHub: [@Freedom](https://github.com/xddcode) - Gitee: [@Freedom](https://gitee.com/xddcode) - Email: xddcodec@gmail.com - WeChat: **Please indicate your purpose when adding WeChat** wx.png - WeChat Group: wx.png - WeChat Official Account: wp.png --- ## โค Donate If you think the free-fs project can help you, or bring you convenience and inspiration, or you agree with this project, you can sponsor my efforts! Please give a โญ๏ธ to support! pay.png
Made with โค๏ธ by [@xddcode](https://gitee.com/xddcode)