主要功能
- ✅目录浏览
- ✅MarkDown文件预览
- ✅CSS/JavaScript一键复制
- ✅文件hash
- ✅图片预览
- ✅视频播放(支持.mp4 .ts .m3u8等部分格式)
- ✅音频播放
- ✅文本查看器(支持的格式有.txt .sh .py .go .c .cpp)
- ✅Office在线预览(支持.doc .docx .xls .xlsx .ppt .pptx)
- ✅文件索引
- ✅二维码生成
- ✅文件管理(上传、下载、编辑)
- ✅文件搜索
- ✅密码验证
- ✅支持中文显示
注意事项
-
不再支持IIS部署
-
不推荐使用Windows系统
-
不再支持安装到二级目录提供访问,比如:
www.xxx.com/zdir
路径说明
假如您站点根目录为/www/wwwroot/xxx.com
,您应该在此路径下创建一个zdir
文件夹,并将zdir源码放到/www/wwwroot/xxx.com/zdir
,需要读取的文件放到/www/wwwroot/xxx.com
,结构如下:
/www/wwwroot/xxx.com/ - 站点根目录 zdir - zdir源码路径 dir1 - 需要读取的文件夹 file1 - 需要读取的文件
注意:站点根文件夹不能包含zdir
关键词,比如不能为/www/wwwroot/zdir.xxx.com
注意:我其实没有把文件解压在www/wwwroot/xxx.com/zdir/下,直接就在www/wwwroot/xxx.com/ 把文件解压使用。自己实际运作看哪个更实用。
常规安装
- 访问 zdir.zip 下载最新源码,并解压到站点根目录下的
zdir
文件夹 - 将
zdir/config.simple.php
修改为zdir/config.php
- 修改
config.php
文件,设置网站关键词、描述等、密码等 - 访问您的域名测试,文件管理用户名为
zdir
,密码为config.php
中设置的密码
源码备用下载地址:https://dwz.ovh/zdirdown
docker方式安装
复制下面的命令执行:
docker run --name="zdir" \ -d -p 1080:80 --restart=always \ -v /tmp/zdir:/data/wwwroot/default \ helloz/zdir
1080
:为外部访问端口,可自行修改/tmp/zdir
:zdir数据挂载路径,可自行修改
config.php配置文件说明
设置站点基本信息
打开config.php
配置文件
$siteinfo = array( "site_name" => "<i class='fa fa-sitemap' aria-hidden='true'></i> xiaoz软件库", "title" => "Zdir 实用的目录列表程序", "keywords" => "zdir,h5ai,Directory Lister,Fdscript,目录列表,目录索引", "description" => "Zdir是一款使用PHP开发的目录列表程序,简单实用,免费开源。" );
- site_name:网站名称(左上角显示)
- title:设置站点标题(浏览器上显示)
- keywords:设置网站关键词
- description:设置网站描述
排除某个目录
//需要忽略的目录 $ignore = array( ".", ".git", "favicon.ico", "functions", "config.php", "index.php", "static", "LICENSE", "template", "cache.php", "indexes.php" );
如果您需要排除某个目录,请修改上面的
$ignore
变量。
其他问题:
1. 页脚自定义,打开编辑主目录/template/footer.php文件,
2. 删除不必要的导航栏,打开编辑主目录/template/header.php文件
3.修改广告轮播消息
- 用notepad++打开编辑主目录static下的zdir.js文件,你就看到广告条了,自己修改使用。(3轮播就改2-0+1,4轮播就是3-0+1)
- 修改/template/footer.php,将在线资源重新指向本地资源(我们看到有一行代码中出现了URL链接“https://libs.xxx.top/assets/zdir.js”,接下来我们将其替换为“http:// or https://你的域名/zdir目录/static/zdir.js”,在或者替换本地“/static/zdir.js”,保存即可)
zdir3
功能特点
- 目录列表
- MarkDown预览
- 支持搜索当前目录与全局搜索(备注:全局搜索仅Linux支持)
- 视频预览(支持H.264编码的
.mp4
格式及.m3u8
) - 音频预览
- 图片预览
- 代码与文本预览,支持部分代码高亮
- CSS/JavaScript一键复制
- Office在线预览(支持.doc .docx .xls .xlsx .ppt .pptx),注意:如果是内网或IP访问或非标准端口方式不支持预览
- 二维码生成
- 支持中文显示
- 支持Linux、Docker、Windows等多种部署方式
- 文件上传、删除、重命名、新建目录
- API支持
- 后台管理(站点信息设置等)
- 文件复制、移动
- 私有文件
- 私有文件分享
- 音乐播放列表
没打对号的功能在开发中————————
一键安装:
# CentOS系统
yum -y install curl
curl -s “http://soft.xiaoz.org/zdir/sh/zdir.sh” | bash -s install
# Debian or Ubuntu系统
apt-get install curl
curl -s “http://soft.xiaoz.org/zdir/sh/zdir.sh” | bash -s install
- 默认安装路径为:
/data/apps/zdir
- 需要公开的文件列表路径位于
/data/apps/zdir/data/public
安装完毕后访问http://IP:6080
即可
手动安装:
Zdir最新版本下载地址:https://github.com/helloxz/zdir/releases
# 创建一个新的目录用于存放zdir
mkdir zdir
# 进入目录
cd zdir
# 下载最新安装程序
wget https://soft.xiaoz.org/zdir/3.2.0/zdir_3.2.0_linux_amd64.tar.gz
# 解压
tar -xvf zdir_3.2.0_linux_amd64.tar.gz
# 初始化
./zdir init
# 启动
systemctl start zdir
# 停止
systemctl stop zdir
# 重启
systemctl restart zdir
# 开机自启
systemctl enable zdir
- 需要公开的文件列表路径位于
data/public
注意,防火墙还需要放行6080
端口
#firewalld
firewall-cmd –zone=public –add-port=6080/tcp –permanent
firewall-cmd –reload
#如果使用的ufw
ufw allow 6080/tcp
有以下参数需要注意:
配置文件
3.2.0
及之后的版本,配置文件位于data/config/config.ini
3.1.x
之前的版本,配置文件位于data/config.ini
配置文件查找规则为:
- 优先查找
data/config/config.ini
- 如果
data/config/config.ini
未找到,则查找data/config.ini
以下是配置文件内容:
# 服务端设置
[servers]
port = :6080
RunMode = release# 存储设置
[storages]
public_path = data/public
public_domain =# 站点信息设置,此项目在3.2.0及之后的版本中不再使用
[sites]
title = Zdir
name = Zdir
服务端配置[servers]
port
:Zdir监听端口,默认为:6080
,可自行修改RunMode
:Zdir运行默认,默认为release
(生产环境),debug
为调试模式
存储配置[storages]
public_path
:需要读取的文件夹路径,默认为空(data/public
),你可以修改为其它绝对路径public_domain
:公共文件的域名,默认为空(即当前域名 + /public,比如:http://localhost:6080/public),如果使用了nginx反向代理,可以设置为自己的域名,比如:http://www.vrrmr.net
且末尾不再需要/public
也不需要带/
(注意:需要带上http或https协议)
Nginx配置文件
您可以使用Nginx反向代理Zdir,使其通过域名访问。这是生产环境推荐的做法,下方配置可作为参考:
server {
listen 80;
#domain.com改成你自己的域名
server_name domain.com;# 精确匹配首页,=优先级最高
location = / {
proxy_pass http://127.0.0.1:6080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 匹配Vue静态文件目录,和public公共文件夹目录
location ~* /(assets|public|api|admin) {
#如果是图片等静态文件,添加Expires头部
if ( $uri ~* .*\.(gif|jpg|jpeg|png|bmp|webp|swf|flv|mp4|ts|ico|js|css|svg|ico)$ ) {
expires 7d;
}
client_max_body_size 1024m;
proxy_pass http://127.0.0.1:6080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 非/ 和非 /assets目录的时候进行重定向来去掉/public,/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到,优先级最低
location / {
rewrite ^/(.*) /public/$1;
}}
然后修改Zdir配置文件data/config/config.ini
在public_domain
这个参数配置为自己的域名,比如http://domain.com
(注意:末尾不需要/,但需要带上http或https协议),并重启Zdir
暂无评论内容