网盘存储

ZFile自建免费公共网盘服务-支持阿里云OSS,OneDrive,FTP,S3协议等云存储

对于网站存储的需求,大多数人还是以私有网盘为主,目的是为了可以存储属于私人的视频、文档、音频等资料。但是,也有不少的人想要搭建一个公共的网盘,主要目的是可以方便所有人查看、浏览和下载、使用,同时也提供视频在线播放,变成影视站点。

这样的公共网盘服务搭建起来并不是很复杂,但是苦于高昂的存储费用,有的人盯上了超大容量且免费的网盘服务,例如OneDrive,团队版甚至可以达到TB以上,将OneDrive变身为公共网盘,挖站否之前有分享过:用GoIndex将Google Drive变身直链网盘

这篇文章要分享的ZFile不仅支持OneDrive、OneDrive 世纪互联、SharePoint、SharePoint 世纪互联,还同时支持对象存储,你可以将阿里云OSS腾讯云COS又拍云USS、UFile、华为云OBS等第三方的对象存储服务变成你的公共网盘,供其它用户访问。

另外ZFile还支持FTP,S3协议,只要是支持FTP协议和S3协议的网站都是可以使用ZFile对接,总之ZFile是一个非常优秀的在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库。前端基于 h5ai 的原有功能使用 Vue 重新开发、后端采用 SpringBoot, 数据库采用内嵌数据库。

更多的网盘存储服务,这里有:

  1. 八大免费的文件对比同步工具-免费文件对比分析与复制同步备份软件
  2. 十个国内优秀对象云存储服务使用对比-用于网站云存储和CDN加速
  3. 十个国外优秀的网盘云存储使用对比-免费存储,单个文件,自动同步备份和在线文档

PS:更新记录.

1、不想自建网盘的话,你也可以尝试一些大厂开发的网盘,这样会比较稳定:Aliyundrive阿里云盘-不限速免费网盘-支持分享,手机相册和微信/QQ 群文件自动备份。2021.8.20

一、ZFile自建公共网盘准备

网站:

  1. 项目:https://github.com/zhaojun1998/zfile
  2. Docker:https://hub.docker.com/r/zhaojun1998/zfile
  3. 演示:https://zfile.jun6.net/

一个VPS主机(必备)。ZFile网盘为非PHP,所以不能安装在虚拟主机上,你需要准备一台VPS主机,对于速度有要求的可以选择国外的CN2 GIA线路的VPS主机:CN2 GIA VPS主机收集整理汇总,更多的便宜VPS参考:VPS主机排行榜单

一个域名(可选)。这个为可选,绑定域名主要是为了方便使用域名访问,且可以添加SSL证书,对于想要长期使用的朋友来说这个是必需的。当然,你如果习惯用IP访问也没有问题。

二、ZFile自建公共网盘安装

对于Linux系统,直接使用以下命令安装依赖环境:

# CentOS系统
yum install -y java-1.8.0-openjdk unzip# Debian 9 / Ubuntu 14+
apt update
apt install -y openjdk-8-jre-headless unzip# Debian 10 (Buster) 系统
apt update && apt install -y apt-transport-https software-properties-common ca-certificates dirmngr gnupg
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
apt update && apt install -y adoptopenjdk-8-hotspot-jre

如为更新程序, 则请先执行 ~/zfile/bin/stop.sh && rm -rf ~/zfile 清理旧程序. 首次安装请忽略此选项.

下载项目:

cd ~
wget https://c.jun6.net/ZFILE/zfile-release.war
mkdir zfile && unzip zfile-release.war -d zfile && rm -rf zfile-release.war
chmod +x zfile/bin/*.sh

下载指定版本可以将 zfile-release.war 改为 zfile-x.x.war,如 zfile-2.2.war

程序的目录结构为:

├── zfile
    ├── META-INF
    ├── WEB-INF
    └── bin
        ├── start.sh    # 启动脚本
        └── stop.sh     # 停止脚本
        ├── restart.sh  # 重启脚本

启动项目:

 ~/zfile/bin/start.sh

对于已经在自己的VPS主机安装了宝塔面板的朋友,可以直接使用Docker安装的方法。关于宝塔面板的安装教程请看:宝塔面板安装与使用图文教程

输入镜像名称 zhaojun1998/zfile:latest 获取镜像,然后是创建容器,端口映射 8080-8080,目录映射 /root/zfile/db:/root/.zfile/db 和/root/zfile/logs:/root/.zfile/logs ,如下图:

ZFile使用Docker安装成功。

三、ZFile自建公共网盘配置

访问地址:

用户前台: http://127.0.0.1:8080/#/main

初始安装: http://127.0.0.1:8080/#/install

管理后台: http://127.0.0.1:8080/#/admin

首先,进入到ZFile设置账号密码。

然后进入到ZFile后台,这里就可以看到有基本设置以及添加存储等。

3.1 阿里云OSS

进入阿里云对象存储OSS控制台,Bucket 列表-创建Bucket,填写名称,选择地域,读写权限选择公共读。

进入RAM访问控制。

先创建一个用户。

然后获得ID和Key,记得保存,否则下一秒它就不见了。

再返回点击刚刚创建的用户,给该用户授权,授权如下图:

现在回到ZFile,点击添加存储,选择OSS平台。

填写OSS的名称地域节点AccessKey IDSecret,域名等,配置如下图:

ZFile添加阿里云OSS成功。关于阿里云OSS使用教程这里有:阿里云OSS使用方法

3.2 OneDrive

在添加存储容器时,选择OneDrive,然后点击页面的获得令牌,将令牌填写进去就可以了。(点击放大)

3.3 腾讯云COS

ZFile添加腾讯云COS存储参考阿里云OSS,这里是腾讯云COS的API界面。

没有使用腾讯云COS的朋友,可以看教程:腾讯云COS作为图片等静态文件CDN加速方法-自动镜像无缝切换全球加速

3.4 又拍云USS

首先是创建又拍云USS存储。

然后是添加操作员,在这里选择操作员账号和密码,最后在ZFile添加存储时选择使用FTP协议。

关于又拍云存储,可以看教程:巧用又拍云FTP和坚果云WebDAV-打造个人文件备份和数据云存储

3.5 华为云OBS

先创建华为云OBS云存储。

然后到华为云OBS创建密钥。如下图:

3.6 七牛云Kodo

先创建七牛云Kodo云存储。

然后在密钥管理中获得ID和Key。

有关于七牛云的使用方法请参考:七牛云CDN镜像存储

3.7 亚马逊 S3

Amazon S3创建存储。

获取Amazon S3密钥。

四、ZFile自建公共网盘使用

ZFile可以直接将你的阿里云OSS腾讯云COS又拍云USS、UFile、华为云OBS等第三方的对象存储目录下的所有文件展示出来,方便所有人浏览。

ZFile可以在线播放视频。

ZFile可以在线播放音乐。

五、使用域名访问ZFile网盘

这一步为可选项。首先,对于用宝塔面板Docker方式部署的ZFile,你需要到宝塔面板后台创建一个网站。

然后为你的网站申请好SSL证书,用SSL访问会更安全些。当然,你执意不做,这一步也可以省略。

最后直接在宝塔面板后台点击创建反向代@理,目标URL为 ip:8080(ZFile运行端口)。

现在你就可以使用域名访问ZFile了。

以下部分的反向代理配置参考的是Cloudreve的绑定域名配置,原理都是一样的,你只需要把端口号换成ZFile的8080即可:Cloudreve绑定域名

如果是LNMP,打开你的域名Nginx配置文件,在网站的server字段中加入:

 location ~ / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:5212;
    
    # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
    # client_max_body_size 20000m;
   }

如果是Oneinstack,打开你的域名Nginx配置文件,在网站的server字段中加入:

    location  / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:5212;
    
    # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
    # client_max_body_size 20000m;
   }

如果是Apache,在VirtualHost字段下加入反代配置项ProxyPass,比如:

<VirtualHost *:80>
    ServerName myapp.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /www/myapp/public
    
    # 以下为关键部分
    AllowEncodedSlashes NoDecod
    ProxyPass "/" "http://127.0.0.1:5212/" nocanon
    
</VirtualHost>

添加完成后,重启nginx或者Apache,然后你就可以使用域名来访问了。

六、总结

ZFile是一个非常优秀的网盘目录程序,推荐使用宝塔面板安装Docker镜像的方式运行ZFile,为了加快速度,你可以开启缓存。但是开启缓存后,会缓存文件夹中的内容,可以加快访问速度,但同样也可能会导致数据不一致。缓存每 30 分钟刷新一次。

文章出自:挖站否 https://wzfou.com/zfile/,版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

文章更新于: %s = human-readable time difference 下午2:10

Qi

关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。

查看评论