#!/bin/bash ##### name:Zdir一键安装脚本 ##### export PATH="/usr/local/bin:/usr/bin:/bin" #声明Zdir版本 VERSION="4.3.0" #检查是否已经安装过 is_install() { if [ -f "/etc/systemd/system/zdir.service" ] then echo "Zir has already been installed, no need to reinstall!" exit fi } #初始化 init() { if [ -e "/usr/bin/yum" ] then yum -y install tar wget fuse3 elif [ -e "/usr/bin/apt-get" ] then #更新软件,否则可能make命令无法安装 apt-get update apt-get install -y wget fuse3 fi } #获取用户参数 get_parameters() { zdirpath='/opt/zdir' zdirport='6080' } #下载Zdir download() { mkdir -p /tmp/zdir cd /tmp/zdir wget https://soft.xiaoz.org/zdir/${VERSION}/zdir_${VERSION}_linux_amd64.tar.gz #解压 tar -xvf zdir_${VERSION}_linux_amd64.tar.gz } #自动放行端口 chk_firewall(){ # 检查 firewall-cmd 是否存在 if command -v firewall-cmd >/dev/null 2>&1; then firewall-cmd --zone=public --add-port=${zdirport}/tcp --permanent firewall-cmd --reload # 检查 ufw 是否存在 elif command -v ufw >/dev/null 2>&1; then ufw allow ${zdirport}/tcp fi } #安装Zddir install_zdir() { #创建文件夹 mkdir -p ${zdirpath} # 复制zdir文件 cp -ar /tmp/zdir/* ${zdirpath} # 初始化zdir cd ${zdirpath} && sh sh/reg_service.sh #删除临时文件 rm -rf /tmp/zdir # 启动服务 systemctl start zdir # 获取访问地址 myip=$(curl -s ip.rss.ink) echo "---------------------------------------------" echo "Zdir has been successfully installed. Please visit:" echo "http://${myip}:${zdirport}" echo "Or visit:" echo "http://IP:${zdirport}" echo "---------------------------------------------" } # 卸载Zdir uninstall_zdir() { # 停止Zdir systemctl stop zdir # 获取Zdir安装目录 zirpath=`grep "ExecStart=" /etc/systemd/system/zdir.service|sed 's/ExecStart=//'|sed 's/zdir start//'` # 删除服务 rm -rf /etc/systemd/system/zdir.service # 重载服务 systemctl daemon-reload echo "Zdir has been uninstalled. Please manually execute: rm -rf ${zirpath} delete the Zdir folder!" } # 获取参数 case $1 in install) #安装Zdir is_install && init && get_parameters && download && chk_firewall && install_zdir ;; uninstall) # 卸载Zdir uninstall_zdir ;; test) get_parameters ;; *) echo "Parameter error!" exit ;; esac