Add files via upload

main
大葱 1 year ago committed by GitHub
parent 6ce74cfc07
commit 51956559a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 420
      Pixman.sh

@ -3,7 +3,7 @@
# @小白直播搭建脚本
# 项目地址:https://pixman.io/
# 最新版本:1.9.5
# 最新版本:1.9.6
###############################
@ -22,7 +22,6 @@ HAMI_SESSION_IP="" # Hami 参数
HTTP_PROXY="" # 设置代理
HTTPS_PROXY="" # 设置代理
# 设置颜色变量
RED="\033[1;31m" # 红
GREEN="\033[1;32m" # 绿
@ -77,9 +76,8 @@ show_allinone_menu() {
echo "---------------------"
echo "1) 安装 Allinone 项目"
echo "2) 安装 av3a 助手"
echo "3) 设置 IPTV 启停"
echo "4) 设置 反向代理 地址 "
echo "5) 卸载 Allinone 项目"
echo "3) 设置 反向代理 地址 "
echo "4) 卸载 Allinone 项目"
echo "---------------------"
echo "0) 返回主菜单 "
echo "---------------------"
@ -87,17 +85,17 @@ show_allinone_menu() {
# 工具箱 菜单
show_toolbox_menu() {
echo "-------------------"
echo " 工具箱菜单: "
echo "-------------------"
echo "1) 1Panle 面板 "
echo "2) [Docker] o11 "
echo "3) [Docker] 3X-UI "
echo "~~~~~~~~~~~~~~~~~~~"
echo "4) Docker 一键清理 "
echo "-------------------"
echo "0) 返回主菜单 "
echo "-------------------"
echo "----------------------"
echo " 工具箱菜单: "
echo "----------------------"
echo "1) 1Panle 面板 "
echo "2) [Docker] o11 "
echo "3) [Docker] 3X-UI "
echo "~~~~~~~~~~~~~~~~~~~~~~"
echo "5) Docker 一键清理 "
echo "----------------------"
echo "0) 返回主菜单 "
echo "----------------------"
}
# 1Panel 菜单
@ -109,27 +107,27 @@ show_1panel_menu() {
echo "2) 卸载 1Panel "
echo "3) 设置 1Panel "
echo "-------------------"
echo "0) 返回上级菜单 "
echo "0) 返回上级菜单 "
echo "-------------------"
}
# 3X-UI 菜单
show_3x_ui_menu() {
echo "-------------------"
echo " 3X-UI 面板菜单: "
echo " 3X-UI 菜单: "
echo "-------------------"
echo "1) 安装 3X-UI "
echo "2) 更新 3X-UI "
echo "3) 卸载 3X-UI "
echo "-------------------"
echo "0) 返回上级菜单 "
echo "0) 返回上级菜单 "
echo "-------------------"
}
# o11 菜单
show_o11_menu() {
echo "-------------------"
echo " o11 面板菜单: "
echo " o11 菜单: "
echo "-------------------"
echo "1) 安装 o11 "
echo "2) 卸载 o11 "
@ -138,6 +136,18 @@ show_o11_menu() {
echo "-------------------"
}
# subs 菜单
show_subs_menu() {
echo "-------------------"
echo " Sub Store 菜单: "
echo "-------------------"
echo "1) 安装 Sub Store "
echo "2) 卸载 Sub Store "
echo "-------------------"
echo "0) 返回上级菜单 "
echo "-------------------"
}
############# Pixman #############
# 加载 Pixman 参数
@ -247,7 +257,7 @@ set_parameters() {
"$HTTP_PROXY" != "$original_http_proxy" || \
"$HTTPS_PROXY" != "$original_https_proxy" ]]; then
echo -e "${CYAN}检测到参数变化,正在卸载旧的 Pixman 容器...${RESET}"
docker rm -f pixman
docker rm -f pixman > /dev/null 2>&1
check_update
else
echo -e "${CYAN}参数未发生变化,无需重启 Pixman 容器${RESET}"
@ -285,9 +295,9 @@ check_update() {
if [ "$current_image_version" != "$latest_image_version" ]; then
echo -e "${GREEN}发现新版本 ($latest_image_version),正在更新...${RESET}"
docker rm -f pixman
docker rmi -f "$IMAGE_SOURCE"
docker pull "$IMAGE_SOURCE"
docker rm -f pixman > /dev/null 2>&1
docker rmi -f "$IMAGE_SOURCE" > /dev/null 2>&1
docker pull "$IMAGE_SOURCE" > /dev/null 2>&1
start_container "$IMAGE_SOURCE" "$MODE"
else
echo -e "${GREEN}当前版本 ($current_image_version),无需更新...${RESET}"
@ -356,12 +366,15 @@ uninstall_pixman() {
if [[ "$input" =~ ^[Yy]$ ]]; then
echo -e "${CYAN}正在卸载 Pixman 项目...${RESET}"
docker rm -f pixman || { echo "卸载容器失败"; return 1; }
docker rmi -f pixman/pixman:latest || { echo "删除镜像失败"; return 1; }
crontab -l | grep -v "$SCRIPT_PATH" | crontab - || { echo "删除定时任务失败"; return 1; }
# rm -f "$SCRIPT_PATH" || { echo "删除脚本文件失败"; return 1; }
# rm -f "$CONFIG_FILE" || { echo "删除配置文件失败"; return 1; }
# sed -i '/alias y=/d' ~/.bashrc || { echo "删除快捷指令失败"; return 1; }
docker stop pixman > /dev/null 2>&1
docker rm -f pixman > /dev/null 2>&1
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'pixman/pixman'); do
docker rmi "$image" > /dev/null 2>&1
done
crontab -l | grep -v "$SCRIPT_PATH"
# rm -f "$SCRIPT_PATH"
# rm -f "$CONFIG_FILE"
# sed -i '/alias y=/d' ~/.bashrc
echo -e "${RED}Pixman 项目已成功卸载。${RESET}"
else
echo -e "${GREEN}取消卸载操作。${RESET}"
@ -477,8 +490,19 @@ Convert_pixman() {
############# Allinone #############
# 安装 Allinone
# 安装 Allinone
install_allinone() {
if docker ps -a --format '{{.Names}}' | grep -q "^allinone$"; then
echo "检测到已存在的 Allinone 容器,将进行手动更新..."
docker stop allinone > /dev/null 2>&1
docker rm allinone > /dev/null 2>&1
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'youshandefeiyang/allinone'); do
docker rmi "$image" > /dev/null 2>&1
done
echo -e "${CYAN}已停止并删除旧的 Allinone 项目。${RESET}"
fi
echo "请选择部署方式(默认: 1):"
echo "1) 使用 host 网络模式"
echo "2) 使用 bridge 网络模式"
@ -488,39 +512,40 @@ install_allinone() {
local public_ip
local PORT=35455
local reverse_proxy_option=""
if check_if_in_china; then
public_ip="{路由IP}" # 获取本地 IP
reverse_proxy_option="-e REVERSE_PROXY=$REVERSE_PROXY"
public_ip="{路由IP}"
else
public_ip=$(curl -s ifconfig.me || echo "{公网IP}")
reverse_proxy_option="-tv=false"
echo -e "${RED}境外已禁止开启 IPTV 服务。${RESET}"
fi
IMAGE_SOURCE="youshandefeiyang/allinone"
PROXY_IMAGE_SOURCE="$REVERSE_PROXY/youshandefeiyang/allinone"
if ! docker pull "$IMAGE_SOURCE" > /dev/null 2>&1; then
echo -e "${CYAN}尝试使用代理拉取镜像...${RESET}"
if ! docker pull "$PROXY_IMAGE_SOURCE" > /dev/null 2>&1; then
echo -e "${RED}安装 Allinone 失败,请检查代理或网络连接。${RESET}"
exit 1
fi
IMAGE_SOURCE="$PROXY_IMAGE_SOURCE"
fi
case $option in
1)
echo "正在使用 host 网络模式安装 Allinone..."
docker run -d \
--restart unless-stopped \
--net=host \
--privileged=true \
$reverse_proxy_option \
--name allinone \
youshandefeiyang/allinone
port=$PORT
docker run -d --restart unless-stopped --net=host --privileged=true --name allinone "$IMAGE_SOURCE"
echo -e "${GREEN}Allinone 安装完成。${RESET}"
install_watchtower
install_watchtower "allinone"
echo "---------------------------------------------------------"
echo "■ 订阅地址:"
if check_if_in_china; then
echo "■ TV 集合 : http://$public_ip:$PORT/tv.m3u"
echo "■ TPTV : http://$public_ip:$PORT/tptv.m3u"
echo "■ TV 集合 : http://$public_ip:$port/tv.m3u"
echo "■ TPTV : http://$public_ip:$port/tptv.m3u"
fi
;;
2)
@ -534,17 +559,11 @@ install_allinone() {
return 1
fi
docker run -d \
--restart unless-stopped \
-p $port:35455 \
--privileged=true \
$reverse_proxy_option \
--name allinone \
youshandefeiyang/allinone
docker run -d --restart unless-stopped --net=bridge --privileged=true -p "$port:35455" --name allinone "$IMAGE_SOURCE"
echo -e "${GREEN}Allinone 安装完成。${RESET}"
install_watchtower # 定时任务
install_watchtower "allinone"
echo "---------------------------------------------------------"
echo "■ 订阅地址:"
@ -552,7 +571,6 @@ install_allinone() {
echo "■ TV 集合 : http://$public_ip:$port/tv.m3u"
echo "■ TPTV : http://$public_ip:$port/tptv.m3u"
fi
;;
*)
@ -589,57 +607,6 @@ live_allinone() {
read -p "按 回车键 返回 主菜单 ..."
}
# 设置 IPTV 启停
set_allinone() {
if docker ps -q -f name=allinone; then
if ! check_if_in_china; then
echo "境外已禁用 IPTV 服务,无法进行开启。"
return
fi
current_args=$(docker inspect --format '{{.Args}}' allinone)
tv_setting=$(echo "$current_args" | grep -oP '(-tv=\w+)')
is_host_mode=$(echo "$current_args" | grep -oP '(^--net=host)')
if [[ "$tv_setting" == "-tv=false" ]]; then
read -p "当前 TV 直播服务已关闭,是否要开启?(y/n): " tv_option
if [[ "$tv_option" == "y" || "$tv_option" == "Y" ]]; then
echo "正在开启 TV 直播服务..."
docker stop allinone
docker rm allinone
if [[ $is_host_mode ]]; then
docker run -d --restart unless-stopped --net=host --privileged=true --name allinone youshandefeiyang/allinone
else
port=$(echo "$current_args" | grep -oP '(-p\s+\d+:\d+)' | awk -F':' '{print $1}' | tr -d '-p ')
docker run -d --restart unless-stopped -p $port:35455 --privileged=true --name allinone youshandefeiyang/allinone
fi
echo "Allinone 已开启 TV 直播服务。"
else
echo "保持 TV 直播服务关闭。"
fi
else
read -p "当前 TV 直播服务已开启,是否要关闭?(y/n): " tv_option
if [[ "$tv_option" == "y" || "$tv_option" == "Y" ]]; then
echo "正在关闭 TV 直播服务..."
docker stop allinone
docker rm allinone
if [[ $is_host_mode ]]; then
docker run -d --restart unless-stopped --net=host --privileged=true --name allinone -tv=false youshandefeiyang/allinone
else
port=$(echo "$current_args" | grep -oP '(-p\s+\d+:\d+)' | awk -F':' '{print $1}' | tr -d '-p ')
docker run -d --restart unless-stopped -p $port:35455 --privileged=true --name allinone -tv=false youshandefeiyang/allinone
fi
echo "Allinone 已关闭 TV 直播服务。"
else
echo "保持 TV 直播服务开启。"
fi
fi
else
echo "当前 Allinone 未安装,请先安装 Allinone 项目。"
fi
}
# 设置反向代理参数
proxy_allinone() {
read -p "请输入反向代理地址 (回车跳过保持当前值: $REVERSE_PROXY): " input_reverse_proxy
@ -658,47 +625,26 @@ uninstall_allinone() {
return
fi
if docker ps -a | grep -q allinone; then
docker stop allinone
docker rm allinone
docker stop allinone > /dev/null 2>&1
docker rm allinone > /dev/null 2>&1
fi
if docker ps -a | grep -q av3a-assistant; then
docker stop av3a-assistant
docker rm av3a-assistant
docker stop av3a-assistant > /dev/null 2>&1
docker rm av3a-assistant > /dev/null 2>&1
fi
if [ -d "/av3a" ]; then
rm -rf /av3a
fi
if docker ps -a | grep -q watchtower; then
docker stop watchtower
docker rm watchtower
fi
echo -e "${GREEN}Allinone 及其所有相关文件已完全卸载。${RESET}"
}
# 设置 Allinone 更新
install_watchtower() {
echo "正在安装或配置 Watchtower 并监控 Allinone 镜像更新..."
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'youshandefeiyang/allinone'); do
docker rmi "$image" > /dev/null 2>&1
done
if check_if_in_china; then
reverse_proxy_option="-e REVERSE_PROXY=$REVERSE_PROXY"
else
reverse_proxy_option=""
fi
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'av3a-assistant'); do
docker rmi "$image" > /dev/null 2>&1
done
if [ "$(docker ps -a -q -f name=watchtower)" ]; then
echo "Watchtower 已经存在,更新定时任务..."
docker stop watchtower
docker rm watchtower
fi
docker run -d \
--name watchtower \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
$reverse_proxy_option \
containrrr/watchtower allinone -c --schedule "0 0 2 * * *"
echo "---------------------------------------------------------"
echo -e "${CYAN}■ 服务器将于每天凌晨两点,进行检测更新。${RESET}"
echo -e "${GREEN}Allinone 及其所有相关文件已完全卸载。${RESET}"
}
# 检查 Docker Compose 是否安装
@ -711,7 +657,6 @@ install_Docker_Compose() {
if ! command -v docker-compose &> /dev/null; then
echo "Docker Compose 安装失败,请手动安装。"
echo "参考资料:https://blog.csdn.net/Jimu2018/article/details/138325666"
read -p "按 回车键 返回 主菜单 ..."
exit 1
fi
@ -724,7 +669,7 @@ install_Docker_Compose() {
# 安装 av3a
install_av3a() {
if ! check_if_in_china; then
echo -e "${RED}境外已禁止开启 av3a 服务。{RESET}"
echo -e "${RED}境外已禁止开启 av3a 服务。${RESET}"
return
fi
@ -762,15 +707,15 @@ install_av3a() {
if docker ps -a --format '{{.Names}}' | grep -q '^allinone$'; then
echo "检测到已存在的 allinone 容器,正在停止并删除..."
docker stop allinone
docker rm allinone
docker stop allinone > /dev/null 2>&1
docker rm allinone > /dev/null 2>&1
fi
if generate_docker_compose "$ARCH" "$INSTALL_PATH"; then
cd "$INSTALL_PATH"
if docker-compose up -d; then
echo "---------------------------------------------------------"
echo -e "${CYAN}Allinone 和 av3a-assistant 均已启动${RESET}"
echo -e "${GREEN}Allinone 和 av3a-assistant 均已安装${RESET}"
echo "---------------------------------------------------------"
echo "■ 订阅地址:"
echo "■ TV 集合 : http://$public_ip:35442/tv.m3u (av3a)"
@ -854,6 +799,101 @@ EOF
fi
}
############# watchtower #############
# 设置 watchtower 任务
install_watchtower() {
local name=$1
if [ "$(docker ps -q -f name=watchtower)" ]; then
existing_args=$(docker inspect --format '{{.Args}}' watchtower)
monitored_containers=$(echo "$existing_args" | grep -oP '(\w+)' | tr '\n' ' ')
if echo "$monitored_containers" | grep -qw "$name"; then
echo "---------------------------------------------------------"
echo -e "${CYAN}■ 服务器将于每天凌晨五点,进行检测更新。${RESET}"
return
fi
monitored_containers+="$name"
docker stop watchtower > /dev/null 2>&1
docker rm watchtower > /dev/null 2>&1
else
monitored_containers="$name"
fi
echo "正在安装或配置 Watchtower 并监控 $name 镜像更新..."
IMAGE_SOURCE="containrrr/watchtower"
PROXY_IMAGE_SOURCE="$REVERSE_PROXY/containrrr/watchtower"
if ! docker pull "$IMAGE_SOURCE" > /dev/null 2>&1; then
echo -e "${CYAN}尝试使用代理拉取镜像...${RESET}"
if ! docker pull "$PROXY_IMAGE_SOURCE" > /dev/null 2>&1; then
echo -e "${RED}安装 watchtower 失败,请检查代理或网络连接。${RESET}"
return
fi
IMAGE_SOURCE="$PROXY_IMAGE_SOURCE"
fi
docker run -d --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock "$IMAGE_SOURCE" $monitored_containers -c --schedule "0 5 * * *"
echo "---------------------------------------------------------"
echo -e "${CYAN}■ 服务器将于每天凌晨五点,进行检测更新。${RESET}"
}
# 卸载 Watchtower 监控指定容器
uninstall_watchtower() {
local name=$1
if [ "$(docker ps -q -f name=watchtower)" ]; then
echo "正在检查 Watchtower 监控的容器..."
existing_args=$(docker inspect --format '{{.Args}}' watchtower)
monitored_containers=$(echo "$existing_args" | grep -oP '(\w+)' | tr '\n' ' ')
if echo "$monitored_containers" | grep -qw "$name"; then
monitored_containers=$(echo "$monitored_containers" | sed "s/\b$name\b//g")
if [ -z "$monitored_containers" ]; then
echo "没有其他监控的容器,正在停止并删除 Watchtower..."
docker stop watchtower > /dev/null 2>&1
docker rm watchtower > /dev/null 2>&1
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'containrrr/watchtower'); do
docker rmi "$image" > /dev/null 2>&1
done
echo "Watchtower 已成功卸载。"
else
docker stop watchtower > /dev/null 2>&1
docker rm watchtower > /dev/null 2>&1
echo "正在更新 Watchtower,仅监控剩余容器..."
IMAGE_SOURCE="containrrr/watchtower"
PROXY_IMAGE_SOURCE="$REVERSE_PROXY/containrrr/watchtower"
if ! docker pull "$IMAGE_SOURCE" > /dev/null 2>&1; then
echo -e "${CYAN}尝试使用代理拉取镜像...${RESET}"
if ! docker pull "$PROXY_IMAGE_SOURCE" > /dev/null 2>&1; then
echo -e "${RED}安装 watchtower 失败,请检查代理或网络连接。${RESET}"
return
fi
IMAGE_SOURCE="$PROXY_IMAGE_SOURCE"
fi
docker run -d --name watchtower --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock "$IMAGE_SOURCE" $monitored_containers -c --schedule "0 5 * * *"
echo "· "$name" 容器已从监控中删除。"
fi
else
echo "容器 $name 未被 Watchtower 监控。"
fi
else
echo "Watchtower 当前未安装。"
fi
}
############# 3X-UI #############
# 安装 3X-UI
@ -861,7 +901,8 @@ install_3x_ui() {
echo "请选择部署方式:"
echo "1) 使用 host 网络模式 (添加节点方便)"
echo "2) 使用 bridge 网络模式 (添加节点,需映射端口)"
read -rp "输入选项 (1 或 2): " option
echo "3) 使用 sh 脚本 直接安装 (推荐)"
read -rp "输入选项 (1-3): " option
if check_if_in_china; then
local public_ip="{路由IP}"
@ -891,7 +932,7 @@ install_3x_ui() {
local default_port=17878
read -rp "请输入要映射的端口 (默认: $default_port): " port
port=${port:-$default_port} # 如果用户没有输入,则使用默认端口
port=${port:-$default_port}
if ! [[ "$port" =~ ^[0-9]+$ ]] || [ "$port" -lt 1024 ] || [ "$port" -gt 65535 ]; then
echo "无效端口。请使用 1024 到 65535 之间的数字。"
@ -900,6 +941,7 @@ install_3x_ui() {
local node_port1=$(generate_random_port)
local node_port2=$(generate_random_port)
local node_port3=$(generate_random_port)
docker run -d \
-e XRAY_VMESS_AEAD_FORCED=false \
@ -915,14 +957,20 @@ install_3x_ui() {
echo -e "${GREEN}3X-UI 安装完成。${RESET}"
echo "访问信息:"
echo "URL: http://$public_ip:$port"
echo "随机生成两个节点端口,后续直接添加。"
echo "随机生成两个节点端口,后续自行添加。"
echo "节点端口: $node_port1"
echo "节点端口: $node_port2"
echo "节点端口: $node_port3"
;;
3)
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
*)
echo "无效选项,请选择 1 或 2。"
echo -e "${GREEN}3X-UI 安装完成。${RESET}"
echo "访问信息:"
echo "输入 x-ui 进行修改设置"
echo "URL: http://$public_ip:2053"
;;
*) echo "无效的选项,请输入 0-3。" ;;
esac
echo "------------------"
@ -940,8 +988,8 @@ install_3x_ui() {
update_3x_ui() {
echo "正在更新 3X-UI 面板至最新版本..."
if docker ps -a | grep -q 3x-ui; then
docker stop 3x-ui
docker rm 3x-ui
docker stop 3x-ui > /dev/null 2>&1
docker rm 3x-ui > /dev/null 2>&1
install_3x_ui
echo "3X-UI 面板已更新至最新版本。"
else
@ -957,19 +1005,16 @@ uninstall_3x_ui() {
echo "卸载操作已取消。"
return
fi
echo "正在卸载 3X-UI 面板..."
if docker ps -a | grep -q 3x-ui; then
docker stop 3x-ui
docker rm 3x-ui
else
echo "警告:未找到 3x-ui 容器。"
docker stop 3x-ui > /dev/null 2>&1
docker rm 3x-ui > /dev/null 2>&1
fi
if [ -d "$PWD/db" ]; then
rm -rf "$PWD/db"
echo "配置文件已删除。"
fi
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'mhsanaei/3x-ui'); do
docker rmi "$image" > /dev/null 2>&1
done
echo -e "${GREEN}3X-UI 卸载完成。${RESET}"
}
@ -987,11 +1032,7 @@ install_o11() {
local public_ip=$(curl -s ifconfig.me || echo "{公网IP}")
fi
docker run -d \
--restart=always \
-p $port:1234 \
--name o11 \
wechatofficial/o11:latest
docker run -d --restart=always -p $port:1234 --name o11 wechatofficial/o11:latest
echo -e "${GREEN}o11 安装完成。${RESET}"
echo "访问信息:"
@ -1008,14 +1049,13 @@ uninstall_o11() {
echo "卸载操作已取消。"
return
fi
echo "正在卸载 o11 面板..."
if docker ps -a | grep -q o11; then
docker stop o11
docker rm o11
else
echo "警告:未找到 o11 容器。"
docker stop o11 > /dev/null 2>&1
docker rm o11 > /dev/null 2>&1
fi
for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep 'wechatofficial/o11'); do
docker rmi "$image" > /dev/null 2>&1
done
echo -e "${GREEN}o11 卸载完成。${RESET}"
}
@ -1042,12 +1082,8 @@ uninstall_1panel() {
echo "卸载操作已取消。"
return
fi
echo "正在卸载 1Panel..."
if command -v 1pctl > /dev/null 2>&1; then
1pctl uninstall
else
echo "警告:未找到 1Panel 安装。"
fi
echo -e "${GREEN}1Panel 卸载完成。${RESET}"
}
@ -1065,12 +1101,20 @@ check_internet_connection() {
# 检查 IP 归属地
check_if_in_china() {
country=$(curl -s https://ipinfo.io/country)
if [ "$country" = "CN" ]; then
return 0 # 在中国
else
return 1 # 不在中国
fi
local sources=(
"https://myip.ipip.net"
"https://ipinfo.io/country"
"http://ip-api.com/json/"
)
for source in "${sources[@]}"; do
response=$(curl -s "$source")
if echo "$response" | grep -qiE "中国|China|CN"; then
return 0
fi
done
return 1
}
# 检查 Docker 是否安装
@ -1258,8 +1302,8 @@ script_log() {
echo "脚本日志: https://pixman.io/topics/142"
echo "作者: YanG"
echo "当前版本号: $(grep -oP '(?<=^# 最新版本:).*' "$SCRIPT_PATH")"
echo "最后更新时间: 2024.10.21"
echo "更新内容: 修复BUG,部署 Pixman 将不再自动判断,改为手动模式。"
echo "最后更新时间: 2024.10.24"
echo "更新内容: 优化 CN 判断,修复 Allinone 部署 BUG。计划 增加 Sub Store 部署,独立 watchtower 设置"
echo "------------------------------------------------"
read -p "按 回车键 返回 主菜单 ..."
}
@ -1269,6 +1313,7 @@ script_log() {
load_parameters # 加载配置参数
download_pixman # 检查脚本更新
# 检查是否启动定时任务
if [ "$1" == "--auto" ]; then
echo "定时任务进行中..."
@ -1319,15 +1364,14 @@ while true; do
2) # 显示 allinone 菜单
while true; do
show_allinone_menu
read -p "请输入选项 (0-5): " allinone_choice
read -p "请输入选项 (0-4): " allinone_choice
case "$allinone_choice" in
1) check_docker ; install_allinone ;;
2) check_docker ; install_av3a ;;
3) set_allinone ;;
4) proxy_allinone ;;
5) uninstall_allinone ;;
3) proxy_allinone ;;
4) uninstall_allinone ;;
0) echo "返回主菜单。" ; break ;;
*) echo "无效的选项,请输入 0-5。" ;;
*) echo "无效的选项,请输入 0-4。" ;;
esac
done
;;

Loading…
Cancel
Save