littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于Spring Boot的咸鱼云网盘系统

项目简介

咸鱼云网盘是用于共享文件和实现私人网盘基本功能的系统,具备公共网盘和私人网盘功能,支持文件直链下载、文件索引与缓存、离线下载等。目前处于原型开发阶段,部分功能和文档待完善。

项目的主要特性和功能

现有特性

  • 提供公共网盘与私人网盘,用户可共享公共资源并拥有私有存储空间。
  • 实现文件去重,相同文件仅存一份,提升硬盘空间利用率。
  • 支持文件直链下载,带来极速下载体验。
  • 具备文件索引与缓存,海量文件搜索响应迅速。
  • 支持带代理选择和自定义参数的离线下载功能。
  • 有实验性的FTP访问功能,但可能不稳定。

近期可能实现的特性

  • 创建文件收集功能。
  • 支持分享私人文件或目录。
  • 实现文件在线解压缩。
  • 开发插件功能以增强系统扩展性。

计划实现的基本特性

  • 支持分布式存储,提高系统可靠性。
  • 支持WebDav协议访问。
  • 支持Samba协议访问。
  • 实现多媒体播放列表功能。
  • 实现自动备份功能保障数据安全。

安装使用步骤

初始化数据库

  1. 手动创建空数据库。
  2. script目录的start.shstart.bat中配置好数据库名。
  3. 咸鱼云首次启动会自动初始化数据表。

构建项目

shell cd script ./build

运行项目

修改start.batstart.sh的程序属性变量后,执行以下命令: shell cd script ./start

命令行选项

  • --switch:可选值为RAWUNIQUE,用于启动存储切换程序,主要解决低版本UNIQUE模式升级到新版本的兼容性问题。示例: shell 项目目录/script@localhost $ start.sh --switch=RAW 注意:此操作对数据风险高,建议提前备份数据。

协议支持

  • FTP(实验性功能预览):
    1. 默认使用21端口,可通过ftp - port参数修改。
    2. Linux非root用户建议用大于1024的端口号,可通过端口转发实现21端口到FTP端口的转发。
    3. 外部网络设备访问时,需确保ftp_passive_addr参数为可访问地址,默认是localhost。
  • WebDav:未来版本开发。
  • Samba:暂不支持。

注意事项

唯一存储模式(UNIQUE)下,勿用咸鱼云以外的手段修改或追加网盘文件内容,否则会导致文件修改异常和MD5记录错误。

接口测试

postman_collection.json文件导入postman进行测试。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】