Pages

Wednesday, 6 May 2020

在线云盘程序zfile

在线云盘 

Z-File

https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square Codacy Badge https://img.shields.io/badge/springboot-2.0.6-orange.svg?style=flat-square GitHub tag (latest SemVer)
此项目是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.
前端基于 h5ai 的原有功能使用 Vue 重新开发了一遍. 后端采用 SpringBoot, 数据库采用内嵌数据库.
预览地址: https://zfile.jun6.net

系统特色

  • 内存缓存 (免安装)
  • 内存数据库 (免安装)
  • 个性化配置
  • 自定义目录的 readme 说明文件
  • 自定义 JS, CSS
  • 文件夹密码
  • 支持在线浏览文本文件, 视频, 图片, 音乐. (支持 FLV 和 HLS)
  • 文件/目录二维码
  • 缓存动态开启, 缓存自动刷新 (v2.2 及以前版本支持)
  • 全局搜索 (v2.2 及以前版本支持)
  • 同时挂载多个存储策略
  • 支持 阿里云 OSS, FTP, 华为云 OBS, 本地存储, MINIO, OneDrive 国际/家庭/个人版, OneDrive 世纪互联版, 七牛云 KODO, 腾讯云 COS, 又拍云 USS.

快速开始

安装依赖环境:
# 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
篇幅有限, 更详细的安装教程及介绍请参考: ZFile 文档
访问地址:

预览

前台首页 后台设置-驱动器设置 后台设置-驱动器设置 后台设置-显示设置

常见问题

默认路径

默认 H2 数据库文件地址: ~/.zfile/db/~ 表示用户目录
windows 为 C:/Users/用户名/
linux 为 /home/用户名/, root 用户为 /root/
2.3 及以后版本路径为 ~/.zfile-new/db/

文档文件和加密文件

  • 目录文档显示文件名为 readme.md
  • 目录需要密码访问, 添加文件 password.txt (无法拦截此文件被下载, 但可以改名文件)

开发计划

  •  API 支持 点击查看文档
  •  更方便的部署方式
  •  布局优化 - 自定义操作按钮 (现为右键实现)
  •  后台优化 - 设置按照其功能进行分离
  •  体验优化 - 支持前后端分离部署
  •  体验优化 - 文本预览更换 vscode 同款编辑器 monaco editor
  •  新功能 - Docker 支持
  •  架构调整 - 支持多存储策略
https://github.com/zfile-dev/zfile
----

ZFile 安装文档

前言

最近开发了一个在线网盘程序 ZFile, 支持各种对象存储、OneDrive、FTP、本地存储. 本文包含普通用户和宝塔用户的安装方式.

安装依赖

1
2
3
4
5
6
# CentOS系统
yum install -y java-1.8.0-openjdk unzip

# Debian/Ubuntu系统
apt update
apt install -y openjdk-8-jre-headless unzip
如为更新程序, 则请先执行 ~/zfile/bin/stop.sh 停止命令和 rm -rf ~/zfile 清理旧程序. 首次安装请忽略此选项. 不会删除数据文件.

下载项目

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

目录结构

1
2
3
4
5
6
7
├── zfile
    ├── META-INF
    ├── WEB-INF
    └── bin
        ├── start.sh    # 启动脚本
        └── stop.sh     # 停止脚本
        ├── restart.sh  # 重启脚本

启动项目

1
~/zfile/bin/start.sh

停止项目

1
~/zfile/bin/stop.sh

重启项目

1
~/zfile/bin/restart.sh

修改配置文件

1
vim ~/zfile/WEB-INF/classes/application.yml
默认启动端口为 8080, 如需请配置文件请编辑上述文件, 修改后重启程序生效.

开放端口 (重点)

如部署后无法访问, 请检查防火墙是否开启此端口:

宝塔用户

宝塔用户可以去后台开放端口:

CentOS 7.x

1
2
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放 8080 端口
firewall-cmd --reload                                      # 重启firewall

Ubuntu 16.x / Debian 9.x

1
2
3
4
5
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
iptables-save
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

域名访问

域名访问可直接将域名 A 记录解析到服务器 IP, 即可通过 域名:端口 访问.
如需直接使用域名, 不带端口, 可将程序设置为 80 端口, 或者使用 nginx 或 caddy 等工具进行反向代理.
这里只简单介绍下宝塔如何进行反向代理:
首先点击 网站 -> 新增站点:

点击反向代理:

设置反向代理:

然后就可以使用域名访问了.
教程到此结束, 如有其它问题, 可联系我 QQ: 873019219

No comments:

Post a Comment