此项目是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.
前端基于 h5ai 的原有功能使用 Vue 重新开发了一遍. 后端采用 SpringBoot, 数据库采用内嵌数据库.
预览地址: http://zfile.jun6.net
安装 JDK 1.8 :
yum install -y java # 适用于 Centos 7.x
下载项目:
wget https://github.com/zhaojun1998/zfile/releases/download/0.4/zfile-0.4.jar
启动项目:
java -Djava.security.egd=file:/dev/./urandom -jar zfile-0.4.jar
## 高级启动
java -Djava.security.egd=file:/dev/./urandom -jar zfile-0.4.jar --server.port=18777
## 后台运行
nohup java -Djava.security.egd=file:/dev/./urandom -jar zfile-0.4.jar &
系统使用的是内置配置文件, 默认配置请参考: application.yml 可下载此文件放置与 jar 包同目录, 此时会以外部配置文件为准, 推荐适用此方式!. 所有参数都可在命令行启动时, 以类似
--server.port=18777
的方式强制执行, 此方式的优先级最高. 指定-Djava.security.egd=file:/dev/./urandom
是为了防止在 Linux 环境中, 生成首次登陆生成 sessionId 取系统随机数过慢的问题.
重要参数:
server.port
为指定端口, 默认为 8080
logging.path
为日志文件存放路径, 默认为 ${user.home}/.zfile/logs
spring.datasource
下配置了 h2
和 mysql
两种数据库的支持, 默认采用 h2
.spring.cache.type
为指定缓存方式, 默认为 caffeine
, 即内存缓存, 无需安装, 支持切换为 redis
, 但需配置 spring.redis.host
和 spring.redis.password
参数后才可使用.访问地址:
用户前台: http://127.0.0.1:8080/#/main
初始安装: http://127.0.0.1:8080/#/install
管理后台: http://127.0.0.1:8080/#/admin
1.8
caffeine
h2/mysql
缓存默认支持 h2
和 mysql
, 前者为嵌入式数据库, 无需安装, 但后者相对性能更好.
默认 H2 数据库文件地址: ~/.zfile/db/
, ~
表示用户目录, windows 为 C:/Users/用户名/
, linux 为 /home/用户名/
, root 用户为 /root/
header.md
footer.md
password.txt
(无法拦截此文件被下载, 但可以改名文件)