芜湖尾敢投资有限公司

Z-File在線網(wǎng)盤程序:支持對(duì)象存儲(chǔ)/本地/S3協(xié)議/OneDrive——墨澀網(wǎng)

前言

此項(xiàng)目是一個(gè)在線文件目錄的程序, 支持各種對(duì)象存儲(chǔ)和本地存儲(chǔ), 使用定位是個(gè)人放常用工具下載, 或做公共的文件庫(kù). 不會(huì)向多賬戶方向開發(fā).

前端基于 h5ai 的原有功能使用 Vue 重新開發(fā)了一遍. 后端采用 SpringBoot, 數(shù)據(jù)庫(kù)采用內(nèi)嵌數(shù)據(jù)庫(kù).

預(yù)覽地址:

ZFile 官網(wǎng)

項(xiàng)目地址:

https://github.com/zhaojun1998/zfile

作者博客

https://www.zfile.vip/

系統(tǒng)特色

  • 內(nèi)存緩存 (免安裝)
  • 內(nèi)存數(shù)據(jù)庫(kù) (免安裝)
  • 個(gè)性化配置
  • 自定義目錄的 header 說明文件
  • 自定義 JS, CSS
  • 文件夾密碼
  • 支持在線瀏覽文本文件, 視頻, 圖片, 音樂. (支持 FLV 和 HLS)
  • 文件/目錄二維碼
  • 緩存動(dòng)態(tài)開啟, 緩存自動(dòng)刷新
  • 全局搜索
  • 支持 阿里云 OSS, FTP, 華為云 OBS, 本地存儲(chǔ), MINIO, OneDrive 國(guó)際/家庭/個(gè)人版, OneDrive 世紀(jì)互聯(lián)版, 七牛云 KODO, 騰訊云 COS, 又拍云 USS.

目錄結(jié)構(gòu)

├── zfile
    ├── META-INF
    ├── WEB-INF
    └── bin
        ├── start.sh    # 啟動(dòng)腳本
        └── stop.sh     # 停止腳本
        ├── restart.sh  # 重啟腳本

安裝依賴

# CentOS系統(tǒng)
yum install -y java-1.8.0-openjdk unzip

# Debian/Ubuntu系統(tǒng)
apt update
apt install -y openjdk-8-jre-headless unzip

如為更新程序, 則請(qǐng)先執(zhí)行 ~/zfile/bin/stop.sh 停止命令和 rm -rf ~/zfile 清理舊程序. 首次安裝請(qǐng)忽略此選項(xiàng). 不會(huì)刪除數(shù)據(jù)文件.

下載項(xiàng)目

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

啟動(dòng)項(xiàng)目

~/zfile/bin/start.sh

停止項(xiàng)目

~/zfile/bin/stop.sh

重啟項(xiàng)目

~/zfile/bin/restart.sh

修改配置文件

vim ~/zfile/WEB-INF/classes/application.yml

默認(rèn)啟動(dòng)端口為 8080, 如需請(qǐng)配置文件請(qǐng)編輯上述文件, 修改后重啟程序生效.

開放端口 (重點(diǎn))

如部署后無(wú)法訪問, 請(qǐng)檢查防火墻是否開啟此端口:

寶塔用戶

寶塔用戶可以去后臺(tái)開放端口:

CentOS 7.x

firewall-cmd --zone=public --add-port=8080/tcp --permanent # 開放 8080 端口
firewall-cmd --reload                                      # 重啟firewall

Ubuntu 16.x / Debian 9.x

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 記錄解析到服務(wù)器 IP, 即可通過 域名:端口 訪問.

如需直接使用域名, 不帶端口, 可將程序設(shè)置為 80 端口, 或者使用 nginx 或 caddy 等工具進(jìn)行反向代理.

這里只簡(jiǎn)單介紹下寶塔如何進(jìn)行反向代理:

首先點(diǎn)擊 網(wǎng)站 -> 新增站點(diǎn):

點(diǎn)擊反向代理:

設(shè)置反向代理:

然后就可以使用域名訪問了.

OneDrive 使用教程.

訪問地址進(jìn)行授權(quán), 獲取 accessToken 和 refreshToken:

國(guó)際/家庭/個(gè)人版:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=09939809-c617-43c8-a220-a93c1513c5d4&response_type=code&redirect_uri=https://zfile.jun6.net/onedirve/callback&scope=offline_access%20User.Read%20Files.ReadWrite.All

世紀(jì)互聯(lián)版:

https://login.chinacloudapi.cn/common/oauth2/v2.0/authorize?client_id=4a72d927-1907-488d-9eb2-1b465c53c1c5&response_type=code&redirect_uri=https://zfile.jun6.net/onedirve/china-callback&scope=offline_access%20User.Read%20Files.ReadWrite.All

然后分別填寫至訪問令牌和刷新令牌即可:

常見問題

數(shù)據(jù)庫(kù)

緩存默認(rèn)支持?h2?和?mysql, 前者為嵌入式數(shù)據(jù)庫(kù), 無(wú)需安裝, 但后者相對(duì)性能更好.

默認(rèn)路徑

默認(rèn) H2 數(shù)據(jù)庫(kù)文件地址:?~/.zfile/db/,?~?表示用戶目錄, windows 為?C:/Users/用戶名/, linux 為?/home/用戶名/, root 用戶為?/root/

頭尾文件和加密文件

  • 目錄頭部顯示文件名為?header.md
  • 目錄需要密碼訪問, 添加文件?password.txt?(無(wú)法攔截此文件被下載, 但可以改名文件)
THE END