重构安装依赖逻辑,动态安装缺失的软件包,移除冗余代码

This commit is contained in:
Olia Lisa
2026-01-11 19:41:22 +08:00
parent 7e452337ac
commit e0b47b92b8
2 changed files with 55 additions and 61 deletions
+35 -18
View File
@@ -49,24 +49,6 @@ check_docker_compose() {
fi
}
# 安装jq
install_jq(){
local package_manager=$(get_package_manager) # 获取包管理器
if [[ -z "$package_manager" ]]; then
echo "无法识别系统包管理器"
return 1 # 无法识别包管理器
fi
if [[ "$package_manager" == "apt-get" ]]; then
sudo apt-get install -y jq
elif [[ "$package_manager" == "yum" ]]; then
sudo yum install -y jq
else
echo "未知的系统包管理器"
return 1 # 未知的包管理器
fi
}
# 安装docker
install_docker(){
echo 安装docker...
@@ -80,3 +62,38 @@ install_docker_compose(){
chmod +x /usr/local/bin/docker-compose
}
# 动态安装软件包
install_package() {
local package_name=$1
if command -v "$package_name" &> /dev/null; then
echo "$package_name 已安装, 跳过."
return 0
fi
echo "安装 $package_name..."
package_manager=$(get_package_manager)
if [ "$package_manager" == "apt-get" ]; then
sudo apt-get update
sudo apt-get install -y "$package_name"
elif [ "$package_manager" == "yum" ]; then
sudo yum install -y "$package_name"
else
echo "未知的包管理器, 请手动安装 $package_name."
return 1
fi
}
check_config(){
local config_dir="./conf"
# 如果配置文件不存在或者空白
if [ ! -e "$config_dir/config.json" ] || [ ! -s "$config_dir/config.json" ];then
echo "请先'创建配置'"
exit 0
fi
# 如果配置未初始化
uuid=$(jq -r '.inbounds[0].settings.clients[0].id' "$config_dir/config.json")
if [ "$uuid" = "你的UUID" ] || [ -z "$uuid" ]; then
echo "请先'创建配置'"
exit 0
fi
}