# 基于SpringBoot实现的咸鱼云网盘-后端
![](https://img.shields.io/badge/SpringBoot-2.4-green.svg)
![](https://img.shields.io/badge/Java-11-green.svg)
---
更多内容请参考项目[在线文档](https://mjt233.github.io/saltedfishcloud-backend/) (逐步完善中)
## 提示
该项目仅为后端,不带前端,前端项目请移步[Gitee](https://gitee.com/xiaotao233/saltedfishcloud-frontend) 或 [GitHub](https://github.com/mjt233/saltedfishcloud-backend)
## 项目介绍
### 简介
咸鱼云网盘目前是一个用于共享文件和实现私人网盘基本功能的系统,同时具有公共网盘与私人网盘,公共资源站与私有存储云两不误。
### 功能介绍
#### 基础功能
- 公共网盘与私人网盘两个存储域
- 文件搜索
- 文件收集
- 文件/目录分享
- 外部存储挂载
- 在线解压缩
- 默认按文件哈希散列统一组织文件,支持文件秒传
- 自定义配置桌面组件
- 文本文件在线编辑,markdown编辑实时预览
- 视频在线播放
#### 其他技术特性
- 具有插件系统
- 兼容低版本到高版本的升级,自动更新数据库
- 构建与部署简单,具有统一的属性参数配置系统,大部分参数都能在运行期间通过管理员界面进行动态配置。
- 支持docker部署(文档待补充)
- 支持在线重启
- 系统启动失败会进入紧急模式,可通过`/api/error`查看启动失败原因,通过`/api/admin/sys/restart`重启
#### 拓展功能(插件支持)
- 发布目录为静态页面站点
- WebShell
- 支持存储集群
- 外部存储目录挂载 - OSS对象存储, MinIO, HDFS, Samba, SFTP协议的外部存储读写支持
- 自定义视频转码、字幕提取
- 作为FTP服务端提供网盘文件访问
## 杂杂念
该项目是我大二时从无Java基础一边学习一边开发一边重构和维护的项目,难免会有明显bug或明显的设计缺陷。
欢迎各路大佬提出批评、建议和issue。也欢迎感兴趣的大佬贡献代码。
## 快速开始
### 0. 打包与编译
全模块打包直接使用package命令即可
```shell
$ mvn package
```
如果单独是对某个拓展模块打包,需要先install sfc-api模块。(若全模块打包失败也可先install sfc-api模块)
```shell
$ cd sfc-api; mvn install;
$ cd ../sfc-ext/sfc-ext-demo; mvn package
```
输出目录:
- 主程序: `release/sfc-core.jar`
- 拓展插件:`release/ext-available/*.jar`
### 1. 运行程序
启动前需要在配置文件`config.yml`确认MySQL数据库与Redis连接配置,确认或修改无误后
基础启动命令:
```shell
$ java -jar sfc-core.jar --spring.config.import=file:config.yml
```
### 2 关于数据表
- 项目启动后会自动初始化数据库。若初始化失败,可尝试手动给数据库执行初始化脚本,脚本位于`sfc-core/src/main/resource/sql/full.sql`
- 目前只在MySQL上测试过系统,不确保其他数据库管理系统可以正常运行
### 3. 可选插件
位于sfc-ext模块下,打包后各模块jar包在`release/ext-available`下,若要启用,将其复制到运行目录下的`ext`目录即可
> 注意:以下插件均为实验性功能,部分网络存储挂载功能尚不稳定。
**目前有以下插件:**
| 插件名 | 简介 |
|---------------|--------------------------------------------------|
| mp3-thumbnail | 为mp3文件提供缩率图显示支持 |
| demo | 没啥用,就是个demo,添加/ext/img和/ext/hello两个测试路由 |
| hadoop-store | 提供hdfs文件系统读写支持(主存储、挂载存储) |
| oss-store | 提供基于Amazon S3协议的OSS对象存储系统读写支持(挂载存储) |
| minio-store | **\[将并入oss-store\]** 提供minio对象存储系统读写支持(主存储、挂载存储) |
| sftp-store | 提供基于SFTP文件传输的存储读写支持(挂载存储) |
| ftp-store | 提供基于FTP文件传输的存储读写支持(挂载存储) |
| ftp-server | 内嵌FTP服务器,支持通过FTP方式访问网盘系统的资源 |
| video-enhance | 基于ffmpeg的视频增强服务,支持播放选择字幕、视频转码功能 |
### 4. 插件的加载
#### jar包模式
如果有已经打包好的插件(jar包),那么直接把插件放到`运行目录/ext`后,启动主程序即可
#### 开发模式
在maven的`develop`配置文件环境下,对`application-develop.yml`的`plugin.extra-resource`数组补充`sfc-ext/插件项目`,如:
```yaml
plugin:
extra-resource:
- sfc-ext/sfc-ext-demo
- sfc-ext/sfc-ext-ftp-server
```
tips:
1. 插件项目需要使用`sfc-ext`作为父级,并确保本地仓库安装了`sfc-api`
2. 插件项目初创或修改了`pom.xml`后,需要执行`mvn clean compile`。
3. 启动主程序之前,若修改了插件项目的代码,需要手动构建后再启动主程序,否则加载插件时不会加载到修改后的代码
4. 不要把插件项目添加到主项目的maven依赖中
5. 在IntelliJ IDEA中,插件的代码编译修改后,支持热重载class(其他IDE未测试)
## 部分前端界面展示
- 支持自定义配置的首页
![](./docs/img/main.png)
![](./docs/img/desktop-config.png)
- 目录浏览支持README.md渲染和在线编辑
![](./docs/img/main2.png)
- 管理员后台-简单的插件系统
![](./docs/img/plugin.png)
没有合适的资源?快使用搜索试试~ 我知道了~
咸鱼云网盘后端API系统.zip
共872个文件
java:665个
xml:37个
sql:33个
0 下载量 199 浏览量
2024-08-29
10:18:39
上传
评论
收藏 5.02MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供使用问题指导/解答
资源推荐
资源详情
资源评论
收起资源包目录
咸鱼云网盘后端API系统.zip (872个子文件)
build.bat 353B
debug_start.bat 150B
start.bat 67B
updateVersion.bat 47B
mvnw.cmd 6KB
style.css 5KB
style.css 339B
style.css 288B
style.css 92B
Dockerfile 371B
spring.factories 200B
spring.factories 147B
spring.factories 137B
spring.factories 135B
spring.factories 131B
spring.factories 125B
spring.factories 122B
spring.factories 119B
spring.factories 114B
spring.factories 114B
spring.factories 112B
spring.factories 110B
spring.factories 105B
spring.factories 95B
spring.factories 86B
loading.gif 152KB
.gitignore 527B
dirFileList.html 2KB
mailcode.html 750B
staticSiteInternalError.html 543B
exception.html 355B
404.html 324B
index.html 254B
maven-wrapper.jar 50KB
test.jar 2KB
DefaultPluginManager.java 36KB
ShellExecuteServiceImpl.java 20KB
DiskFileSystemDispatcher.java 19KB
DefaultAsyncTaskExecutor.java 18KB
DefaultFileSystem.java 17KB
FileUtils.java 17KB
FileController.java 15KB
FileRecordServiceImpl.java 15KB
DispatchServlet.java 15KB
S3DirectRawHandler.java 14KB
UserServiceImp.java 13KB
RedisRPCManager.java 13KB
UserController.java 13KB
DefaultVersionUpdateManager.java 13KB
DownloadAsyncTask.java 13KB
MinioDirectRawHandler.java 13KB
DefaultAsyncTaskManagerImpl.java 12KB
AbstractRawStoreService.java 12KB
StringUtils.java 11KB
DiskFtpFile.java 11KB
ConfigServiceImpl.java 11KB
AdminServiceImpl.java 11KB
SFTPDirectRawStoreHandler.java 10KB
SambaDirectRawStoreHandler.java 10KB
PluginInitializer.java 10KB
ShareServiceImpl.java 10KB
MountPointServiceImpl.java 10KB
DatabaseUpdater.java 9KB
FFMpegHelperImpl.java 9KB
VideoService.java 9KB
FTPDirectRawStoreHandler.java 9KB
ResourceUtils.java 9KB
ResourceController.java 9KB
TestClient.java 8KB
RPCActionDefinitionUtils.java 8KB
RawDiskFileSystem.java 8KB
NodeServiceImpl.java 8KB
StoreService.java 8KB
DiskFileSystem.java 8KB
DiskFileSystemArchiveServiceImpl.java 8KB
AbstractArchiveExtractor.java 8KB
CopyAndMoveHandler.java 7KB
AbstractUniqueStoreService.java 7KB
FtpServiceImpl.java 7KB
VideoConvertTask.java 7KB
CollectionServiceImpl.java 7KB
QuickShareService.java 7KB
AsyncTaskScheduleChecker.java 7KB
CompressAsyncTask.java 7KB
TypeUtils.java 7KB
ThumbnailServiceImpl.java 7KB
PropertyUtils.java 7KB
SyncDiffDetectorImpl.java 7KB
ClusterServiceImpl.java 7KB
CollectController.java 6KB
RedisMQService.java 6KB
PluginServiceImpl.java 6KB
FileInfo.java 6KB
ClassUtils.java 6KB
StaticPublishServiceImpl.java 6KB
CrudServiceImpl.java 6KB
NetworkUtils.java 6KB
DiskFileSystemArchiveHelper.java 6KB
CollectionValidatorTest.java 6KB
ControllerAdvice.java 6KB
共 872 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
热爱技术。
- 粉丝: 2574
- 资源: 7860
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Esercizi di informatica!执行计划,metti alla prova!.zip
- Eloquent JavaScript 翻译 - 2ª edição .zip
- Eclipse Paho Java MQTT 客户端库 Paho 是一个 Eclipse IoT 项目 .zip
- disconf 的 Java 应用程序.zip
- cloud.google.com 上使用的 Java 和 Kotlin 代码示例.zip
- 未命名3(3).cpp
- fluent 流体动力学CFD
- Azure Pipelines 文档引用的示例 Java 应用程序.zip
- Apereo Java CAS 客户端.zip
- RAW文件的打开方法与专业处理工具推荐
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功