「开源」一个基于云存储的网盘系统,用于自建私人网盘或企业网盘

一、开源项目简介
ZPan致力于打造一款不限速的网盘系统,因此我们采用客户端直连云存储的方式进行设计。
目前ZPan支持所有兼容S3协议的云存储平台,您可以选用您熟悉的平台来驱动ZPan。
二、开源协议
使用GPL-3.0开源协议
三、界面展示



四、功能概述
他是如何工作的?
ZPan本质上是一个URL签名服务器+可视化的文件浏览器。
因为我们采用直链的方式进行上传下载,所以为了保证上传下载的安全性,客户端用来上传下载的URL均需要服务端进行签名。
然后为了能给方便的管理用户上传的文件,我们就需要开发一个可视化的伪文件系统来进行文件管理。
特色
- 完全不受服务器带宽限制
- 支持所有兼容S3协议的云存储
- 支持文件及文件夹管理
- 支持文件及文件夹分享(未登录可访问)
- 支持文档预览及音视频播放
- 支持多用户存储空间控制
- 支持多语言
为什么不是...?
NextCloud
NextCloud是非常好用的网盘系统,可以说是这个领域的前辈了。但是由于它诞生的比较早,在设计上它是基于本地文件系统进行存储的。这就意味着如果您使用NextCloud在一台一兆带宽的服务器上搭建一个网盘,那么网盘的上传下载速度上限就只有一兆,如果您想提升速度就只能给服务器升级带宽,这将是很大的成本。
当然,有人可能会说NextCloud也可以用云存储啊。但其实它是通过将云存储挂载成本地磁盘的方式进行使用的,还是无法解决上传下载速度受限于服务器带宽的问题。
Cloudreve
Cloudreve是我在研发ZPan之前找到的唯一满足我需求(上传下载不受带宽限制)的产品。但是当时Cloudreve是基于PHP开发的,我有点嫌弃它部署起来比较麻烦,所以就想着用Golang自己实现一个。但是由于一些原因,中途搁置了一年多,当我重新开始搞ZPan且已经差不多搞完的时候才发现在这一年中Cloudreve也使用Golang进行重构了。
不可否认Cloudreve在功能上是比ZPan更加多的,ZPan在功能上会比较克制,因为我始终认为功能不是越多越好。所以如果您发现ZPan不满足您的需求,也可以去试试Cloudreve。
蓝眼云盘
蓝眼云盘也是我早期在找网盘产品的时候找到的,总体来说他符合我的设想,简单好用。但很遗憾,他也属于传统网盘,我和他的开发者有过交流,他们并没有打算支持云存储。
Z-File
Z-File是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.
S3协议平台
- 阿里云OSS
- 腾讯云COS
- 七牛云Kodo
- UCloud(需手动自动设置CORS)
- 华为云OBS
- 网易云NOS(需手动自动设置CORS)
- 亚马逊S3
- MinIO
五、技术选型
快速开始
安装
Linux
# 安装服务 curl -sSLf https://dl.saltbo.cn/install.sh | sh -s zpan # 启动服务 systemctl start zpan # 查看服务状态 systemctl status zpan # 设置开机启动 systemctl enable zpan # 查看日志 journalctl -xe -u zpan -f
Docker
docker run -it -p 8222:8222 -v /etc/zpan:/etc/zpan --name zpan saltbo/zpan
StartWithMinIO
mkdir localzpan && cd localzpan curl -L https://raw.githubusercontent.com/saltbo/zpan/master/quickstart/docker-compose.yaml -o docker-compose.yaml docker-compose up -d
用法
访问 http://localhost:8222