点击上方蓝字关注我们
IT 咖啡馆,探索无限可能!
恭喜你发现了这个宝藏,这里你会发现优质的开源项目、IT知识和有趣的内容。
工作中会用到各种不同的存储,本地的、云上的、服务器里的,一用多了就不好管可怎么办。
今天我们分享的开源项目,它是java开发的网盘应用,可以帮你将各类存储资源同步在一个网页中显示,它就是:zfile
zfile 是什么
ZFile 是一个适用于个人的在线网盘(列目录)程序,可以将你各个存储类型的存储源,统一到一个网页中查看、预览、维护,再也不用去登录各种各样的网页登录后管理文件,现在你只需要在 ZFile 中使用。你只需要填写存储源相关信息,其他的令牌刷新,授权都是尽量自动化的,且有完善的文档帮助你使用。
支持对接 S3、OneDrive、SharePoint、Google Drive、多吉云、又拍云、本地存储、FTP、SFTP 等存储源
支持在线浏览图片、播放音视频,文本文件、Office、obj(3d)等文件类型。
功能特点
文件操作:支持新建文件夹、上传文件、删除文件、下载文件、重命名文件等文件基础操作
文件预览:在线预览您的文本、视频、音频、pdf、office、3d 文件.
代码高亮:对于代码文件,Z-File 支持代码高亮显示,方便查看和编辑。
多媒体播放:能够在线播放视频和音频文件,支持创建音乐播放列表。
文件和目录二维码:为文件和目录生成二维码,便于快速分享。
文件夹密码:支持给文件夹设置密码访问,支持通过 glob 表达式来进行通配符路径的密码设置
全局搜索:提供全局搜索功能,方便用户快速找到所需文件。
多种存储支持:支持本地存储、Amazon S3、阿里云、腾讯云、又拍云、FTP、SFTP、OneDrive、SharePoint 等存储类型
内存缓存和数据库:内置内存缓存和内存数据库,无需额外安装,提高性能。
个性化配置:允许用户进行个性化配置,包括自定义目录的 header 说明文件和自定义 JS, CSS。
响应式布局:支持响应式设计,可以在不同设备上(如手机、平板、电脑)访问。
开源?不开源
对于项目很多人会有疑问,这到底是不是个开源项目?我的总结这是个极具中国特色的开源项目,也就是一开始是开源的,后来为了变现就不开源了,当然啦,这是个人决定也并没有太多可说的。
项目可以看到有社区版和付费版两个版本,社区版更新到4.1.5,而最新的付费版是4.1.6,也就是付费版会比社区版更快一些。另外有一些功能是只出现在付费版中的,社区版没有。
再有一点,我看到文档中说明,付费版代码是不开源的。ZFile 不提供源代码,因为没有提供源码还可以防止二次分发的解决方案。如果您实在需要,可单独付费购买源代码,价格为 1W,包后续所有更新(可自行集成到你的项目后二次售卖,但不允许公开泄露 ZFile 源码)。
安装使用
ZFile支持在Linux和windows上安装使用,也可以通过docker来安装使用。
Docker安装
Docker安装
首先可以通过docker来安装ZFile,只需要执行以下的命令即可
docker run -d --name=zfile --restart=always \\
-p 8080:8080 \\
-v /root/zfile/db:/root/.zfile-v4/db \\
-v /root/zfile/logs:/root/.zfile-v4/logs \\
-v /root/zfile/file:/data/file \\
zhaojun1998/zfile
配置说明
下方高亮部分,可自定义端口和数据目录:
端口号:第 2 行冒号左侧的
8080
表示对外暴露的端口号,如其他程序占用,则请修改为其他端口号。数据目录:第 5 行的
v /root/zfile/file:/data/file \\
为映射宿主机文件夹/root/zfile/file
到容器内的/data/file
文件夹,这样需要在 ZFile 添加本地存储时,填写容器内目录/data/file
就等同于访问宿主机的/root/zfile/file
目录了。这一行按照自己的需求修改,如果不需要映射本地存储,则可以删除这一行。
Linux 安装
安装依赖
首次#=部署才需要安装依赖,更新部署见下方
#ubuntu
apt update
apt install -y openjdk-8-jre-headless unzip
下载并解压
安装说明
下面命令中第一行表示默认安装到用户目录下: ~/zfile
下。
对于 root
用户, ~
= /root
, ~/zfile
表示在 /root/zfile
路径下。
对于其他用户, ~
= /home/用户名
表示在 /home/用户名/
路径下。如对于 oracle
用户, ~/zfile
则表示安装在 /home/oracle/zfile
下。
如需更改安装路径, 请自行修改,如 export ZFILE_INSTALL_PATH=/data/zfile
,表示安装在 /data/zfile
路径下。
export ZFILE_INSTALL_PATH=~/zfile# 声明安装到的路径
mkdir -p $ZFILE_INSTALL_PATH && cd $ZFILE_INSTALL_PATH# 创建文件夹并进入
wget --no-check-certificate <https://c.jun6.net/ZFILE/zfile-release.war#> 下载 zfile 最新版
unzip zfile-release.war && rm -rf zfile-release.war# 解压并删除压缩包
chmod +x $ZFILE_INSTALL_PATH/bin/*.sh# 授权启动停止脚本
启动项目
~/zfile/bin/start.sh# 启动
启动后浏览器访问 http://ip:8080
即可,如启动后无法访问,请检查 端口是否冲突
或 防火墙/安全组是否开启
。
简单检查方式为在服务器执行
curl http://127.0.0.1:8080
如返回
curl: (7) Failed connect to 127.0.0.1:8080; Connection refused
表示未启动成功。如返回
<!DOCTYPE html> <html lang="zh-CN">……
等字样表示启动成功,如启动成功但通过服务器 IP 无法访问,那一般就是防火墙/安全组未放行端口问题。
功能预览
文件夹密码/加密
视频播放
视频在线播放支持格式为:
mp4(h264 编码)
hls(xx.m3u8)
flv
如视频播放不了,或者播放后无画面、无声音,就是浏览器不支持该视频类型的解码,可尝试点击视频下方工具栏调用本地播放器进行解码
画廊模式
文件列表
文件预览
总结
总的来说Zfile是一个不错的网盘应用,统一的管理思路值得借鉴,Java的开发语言,让国内的程序员朋友们更加熟悉。对于其开源和变现的问题,我只能说一方面国内的商业化环境不够成熟,另一方面项目在变现上有一些不够大气,其实可以考虑更成熟、更好的包装形式。
项目信息
项目名称:zfile
GitHub 链接:https://github.com/zfile-dev/zfile
Star 数:9K