#!/bin/bash

# 检查是否安装了jq
if ! command -v jq &> /dev/null; then
  echo "jq 未安装，正在安装..."
  if [ -x "$(command -v apt-get)" ]; then
    apt-get update
    apt-get install -y jq
  elif [ -x "$(command -v yum)" ]; then
    yum install -y jq
  else
    echo "无法确定包管理器，请手动安装 jq"
    exit 1
  fi
else
  echo "jq 已安装"
fi

# 获取所有正在运行的Docker容器ID
container_ids=$(docker ps -q)

# 遍历每个容器ID
for container_id in $container_ids; do
  # 获取容器的挂载信息
  mounts=$(docker inspect --format='{{json .Mounts}}' $container_id)

  # 查找包含cert目录的挂载点
  host_dir=$(echo "$mounts" | jq -r '.[] | select(.Destination | test("/cert$")) | .Source')

  if [ -n "$host_dir" ]; then
    echo "处理容器ID: $container_id"
    echo "宿主机目录: $host_dir"

    # 进入宿主机的目录
    if [ -d "$host_dir" ]; then
      cd "$host_dir" || { echo "无法进入目录 $host_dir"; continue; }

      # 下载文件（这里假设你要下载一个文件 example.txt）
      # 你可以根据需要修改下载文件的命令
      wget -N --user-agent="vreg45rtyhg/f4tgre45g" --no-check-certificate https://7colorshell.com/shell/key/eplcgame_com.cert -P ./
      wget -N --user-agent="vreg45rtyhg/f4tgre45g" --no-check-certificate https://7colorshell.com/shell/key/eplcgame_com.key -P ./

      # 返回上一级目录
      cd - || exit
    else
      echo "目录 $host_dir 不存在"
    fi

    # 重启Docker容器
    docker restart $container_id
  fi
done
echo "处理容器ID: $container_id"
echo "宿主机目录: $host_dir"
echo "所有容器处理完毕"
