|  | @@ -286,7 +286,7 @@ EOF
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 安装Caddy TLS
 | 
	
		
			
				|  |  |  install_caddy_tls() {
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel-caddy$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-caddy$") ]]; then
 | 
	
		
			
				|  |  |      echo_content green "---> 安装Caddy TLS"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      wget --no-check-certificate -O ${CADDY_DATA}html.tar.gz ${STATIC_HTML} &&
 | 
	
	
		
			
				|  | @@ -389,13 +389,13 @@ EOF
 | 
	
		
			
				|  |  |          -v ${CADDY_SRV}:${CADDY_SRV} \
 | 
	
		
			
				|  |  |          teddysun/caddy:1.0.5
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if [[ -n $(docker ps -q -f "name=^trojan-panel-caddy$") ]]; then
 | 
	
		
			
				|  |  | +    if [[ -n $(docker ps -q -f "name=^trojan-panel-caddy$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  |        cat >${DOMAIN_FILE} <<EOF
 | 
	
		
			
				|  |  |  ${domain}
 | 
	
		
			
				|  |  |  EOF
 | 
	
		
			
				|  |  |        echo_content skyBlue "---> Caddy安装完成"
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      echo_content red "---> Caddy安装失败"
 | 
	
		
			
				|  |  | +      echo_content red "---> Caddy安装失败或运行异常,请尝试卸载重装"
 | 
	
		
			
				|  |  |        exit 0
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |    else
 | 
	
	
		
			
				|  | @@ -406,7 +406,7 @@ EOF
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 安装MariaDB
 | 
	
		
			
				|  |  |  install_mariadb() {
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel-mariadb$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-mariadb$") ]]; then
 | 
	
		
			
				|  |  |      echo_content green "---> 安装MariaDB"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      read -r -p "请输入数据库的用户名(默认:root): " mariadb_user
 | 
	
	
		
			
				|  | @@ -441,14 +441,14 @@ install_mariadb() {
 | 
	
		
			
				|  |  |            mariadb:10.7.3
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if [[ -n $(docker ps -q -f "name=^trojan-panel-mariadb$") ]]; then
 | 
	
		
			
				|  |  | +    if [[ -n $(docker ps -q -f "name=^trojan-panel-mariadb$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  |        echo_content skyBlue "---> MariaDB安装完成"
 | 
	
		
			
				|  |  |        echo_content yellow "---> MariaDB root的数据库密码(请妥善保存): ${mariadb_pas}"
 | 
	
		
			
				|  |  |        if [[ "${mariadb_user}" != "root" ]]; then
 | 
	
		
			
				|  |  |          echo_content yellow "---> MariaDB ${mariadb_user}的数据库密码(请妥善保存): ${mariadb_pas}"
 | 
	
		
			
				|  |  |        fi
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      echo_content red "---> MariaDB安装失败"
 | 
	
		
			
				|  |  | +      echo_content red "---> MariaDB安装失败或运行异常,请尝试卸载重装"
 | 
	
		
			
				|  |  |        exit 0
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |    else
 | 
	
	
		
			
				|  | @@ -458,7 +458,7 @@ install_mariadb() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 安装Redis
 | 
	
		
			
				|  |  |  install_redis() {
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel-redis$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-redis$") ]]; then
 | 
	
		
			
				|  |  |      echo_content green "---> 安装Redis"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      while read -r -p "请输入Redis的密码(必填): " redis_pass; do
 | 
	
	
		
			
				|  | @@ -475,11 +475,11 @@ install_redis() {
 | 
	
		
			
				|  |  |          -v ${REDIS_DATA}:/data redis:6.2.7 \
 | 
	
		
			
				|  |  |          redis-server --requirepass "${redis_pass}"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if [[ -n $(docker ps -q -f "name=^trojan-panel-redis$") ]]; then
 | 
	
		
			
				|  |  | +    if [[ -n $(docker ps -q -f "name=^trojan-panel-redis$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  |        echo_content skyBlue "---> Redis安装完成"
 | 
	
		
			
				|  |  |        echo_content yellow "---> Redis的数据库密码(请妥善保存): ${redis_pass}"
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      echo_content red "---> Redis安装失败"
 | 
	
		
			
				|  |  | +      echo_content red "---> Redis安装失败或运行异常,请尝试卸载重装"
 | 
	
		
			
				|  |  |        exit 0
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |    else
 | 
	
	
		
			
				|  | @@ -489,7 +489,7 @@ install_redis() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 安装TrojanPanel
 | 
	
		
			
				|  |  |  install_trojan_panel() {
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel$") ]]; then
 | 
	
		
			
				|  |  |      echo_content green "---> 安装Trojan Panel"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      read -r -p "请输入数据库的IP地址(默认:本机数据库): " mariadb_ip
 | 
	
	
		
			
				|  | @@ -547,17 +547,17 @@ install_trojan_panel() {
 | 
	
		
			
				|  |  |          -e "redis_pass=${redis_pass}" \
 | 
	
		
			
				|  |  |          jonssonyan/trojan-panel
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if [[ -n $(docker ps -q -f "name=^trojan-panel$") ]]; then
 | 
	
		
			
				|  |  | +    if [[ -n $(docker ps -q -f "name=^trojan-panel$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  |        echo_content skyBlue "---> Trojan Panel后端安装完成"
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      echo_content red "---> Trojan Panel后端安装失败"
 | 
	
		
			
				|  |  | +      echo_content red "---> Trojan Panel后端安装失败或运行异常,请尝试卸载重装"
 | 
	
		
			
				|  |  |        exit 0
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |    else
 | 
	
		
			
				|  |  |      echo_content skyBlue "---> 你已经安装了Trojan Panel"
 | 
	
		
			
				|  |  |    fi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel-ui$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-ui$") ]]; then
 | 
	
		
			
				|  |  |      read -r -p "请输入Trojan Panel前端端口(默认:8888): " trojan_panel_ui_port
 | 
	
		
			
				|  |  |      [[ -z "${trojan_panel_ui_port}" ]] && trojan_panel_ui_port="8888"
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -611,10 +611,10 @@ EOF
 | 
	
		
			
				|  |  |          -v ${CADDY_ACME}"${domain}":${CADDY_ACME}"${domain}" \
 | 
	
		
			
				|  |  |          jonssonyan/trojan-panel-ui
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if [[ -n $(docker ps -q -f "name=^trojan-panel-ui$") ]]; then
 | 
	
		
			
				|  |  | +    if [[ -n $(docker ps -q -f "name=^trojan-panel-ui$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  |        echo_content skyBlue "---> Trojan Panel前端安装完成"
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      echo_content red "---> Trojan Panel前端安装失败"
 | 
	
		
			
				|  |  | +      echo_content red "---> Trojan Panel前端安装失败或运行异常,请尝试卸载重装"
 | 
	
		
			
				|  |  |        exit 0
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |    else
 | 
	
	
		
			
				|  | @@ -633,7 +633,7 @@ EOF
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 安装Trojan Panel Core
 | 
	
		
			
				|  |  |  install_trojan_panel_core() {
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel-core$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-core$") ]]; then
 | 
	
		
			
				|  |  |      echo_content green "---> 安装Trojan Panel Core"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      read -r -p "请输入数据库的IP地址(默认:本机数据库): " mariadb_ip
 | 
	
	
		
			
				|  | @@ -687,10 +687,10 @@ install_trojan_panel_core() {
 | 
	
		
			
				|  |  |          -e "crt_path=${CADDY_ACME}${domain}/${domain}.crt" \
 | 
	
		
			
				|  |  |          -e "key_path=${CADDY_ACME}${domain}/${domain}.key" \
 | 
	
		
			
				|  |  |          jonssonyan/trojan-panel-core
 | 
	
		
			
				|  |  | -    if [[ -n $(docker ps -q -f "name=^trojan-panel-core$") ]]; then
 | 
	
		
			
				|  |  | +    if [[ -n $(docker ps -q -f "name=^trojan-panel-core$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  |        echo_content skyBlue "---> Trojan Panel Core安装完成"
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      echo_content red "---> Trojan Panel Core后端安装失败"
 | 
	
		
			
				|  |  | +      echo_content red "---> Trojan Panel Core后端安装失败或运行异常,请尝试卸载重装"
 | 
	
		
			
				|  |  |        exit 0
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  |    else
 | 
	
	
		
			
				|  | @@ -701,7 +701,7 @@ install_trojan_panel_core() {
 | 
	
		
			
				|  |  |  # 更新Trojan Panel
 | 
	
		
			
				|  |  |  update_trojan_panel() {
 | 
	
		
			
				|  |  |    # 判断Trojan Panel是否安装
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel$") ]]; then
 | 
	
		
			
				|  |  |      echo_content red "---> 请先安装Trojan Panel"
 | 
	
		
			
				|  |  |      exit 0
 | 
	
		
			
				|  |  |    fi
 | 
	
	
		
			
				|  | @@ -794,7 +794,7 @@ update_trojan_panel() {
 | 
	
		
			
				|  |  |  # 更新Trojan Panel Core
 | 
	
		
			
				|  |  |  update_trojan_panel_core() {
 | 
	
		
			
				|  |  |    # 判断Trojan Panel Core是否安装
 | 
	
		
			
				|  |  | -  if [[ -z $(docker ps -q -f "name=^trojan-panel-core$") ]]; then
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-core$") ]]; then
 | 
	
		
			
				|  |  |      echo_content red "---> 请先安装Trojan Panel Core"
 | 
	
		
			
				|  |  |      exit 0
 | 
	
		
			
				|  |  |    fi
 | 
	
	
		
			
				|  | @@ -990,31 +990,37 @@ failure_testing() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  redis_flush_all() {
 | 
	
		
			
				|  |  |    # 判断Redis是否安装
 | 
	
		
			
				|  |  | -  if [[ -n $(docker ps -q -f "name=^trojan-panel-redis$") ]]; then
 | 
	
		
			
				|  |  | -    echo_content green "---> 刷新Redis缓存"
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-redis$") ]]; then
 | 
	
		
			
				|  |  | +    echo_content red "---> 请先安装Redis"
 | 
	
		
			
				|  |  | +    exit 0
 | 
	
		
			
				|  |  | +  fi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    read -r -p "请输入Redis的IP地址(默认:本机Redis): " redis_host
 | 
	
		
			
				|  |  | -    [[ -z "${redis_host}" ]] && redis_host="127.0.0.1"
 | 
	
		
			
				|  |  | -    read -r -p "请输入Redis的端口(默认:本机Redis端口): " redis_port
 | 
	
		
			
				|  |  | -    [[ -z "${redis_port}" ]] && redis_port=6379
 | 
	
		
			
				|  |  | -    while read -r -p "请输入Redis的密码(必填): " redis_pass; do
 | 
	
		
			
				|  |  | -      if [[ -z "${redis_pass}" ]]; then
 | 
	
		
			
				|  |  | -        echo_content red "密码不能为空"
 | 
	
		
			
				|  |  | -      else
 | 
	
		
			
				|  |  | -        break
 | 
	
		
			
				|  |  | -      fi
 | 
	
		
			
				|  |  | -    done
 | 
	
		
			
				|  |  | +  if [[ -z $(docker ps -q -f "name=^trojan-panel-redis$" -f "status=running") ]]; then
 | 
	
		
			
				|  |  | +    echo_content red "---> Redis运行异常"
 | 
	
		
			
				|  |  | +    exit 0
 | 
	
		
			
				|  |  | +  fi
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if [[ "${redis_host}" == "127.0.0.1" ]]; then
 | 
	
		
			
				|  |  | -      docker exec trojan-panel-redis redis-cli -a "${redis_pass}" -e "flushall" &>/dev/null
 | 
	
		
			
				|  |  | +  echo_content green "---> 刷新Redis缓存"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  read -r -p "请输入Redis的IP地址(默认:本机Redis): " redis_host
 | 
	
		
			
				|  |  | +  [[ -z "${redis_host}" ]] && redis_host="127.0.0.1"
 | 
	
		
			
				|  |  | +  read -r -p "请输入Redis的端口(默认:本机Redis端口): " redis_port
 | 
	
		
			
				|  |  | +  [[ -z "${redis_port}" ]] && redis_port=6379
 | 
	
		
			
				|  |  | +  while read -r -p "请输入Redis的密码(必填): " redis_pass; do
 | 
	
		
			
				|  |  | +    if [[ -z "${redis_pass}" ]]; then
 | 
	
		
			
				|  |  | +      echo_content red "密码不能为空"
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  | -      docker exec trojan-panel-redis redis-cli -h "${redis_host}" -p ${redis_port} -a "${redis_pass}" -e "flushall" &>/dev/null
 | 
	
		
			
				|  |  | +      break
 | 
	
		
			
				|  |  |      fi
 | 
	
		
			
				|  |  | +  done
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    echo_content skyBlue "---> Redis缓存刷新完成"
 | 
	
		
			
				|  |  | +  if [[ "${redis_host}" == "127.0.0.1" ]]; then
 | 
	
		
			
				|  |  | +    docker exec trojan-panel-redis redis-cli -a "${redis_pass}" -e "flushall" &>/dev/null
 | 
	
		
			
				|  |  |    else
 | 
	
		
			
				|  |  | -    echo_content red "---> 请先安装Redis"
 | 
	
		
			
				|  |  | +    docker exec trojan-panel-redis redis-cli -h "${redis_host}" -p ${redis_port} -a "${redis_pass}" -e "flushall" &>/dev/null
 | 
	
		
			
				|  |  |    fi
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  echo_content skyBlue "---> Redis缓存刷新完成"
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # 卸载阿里云内置相关监控
 |