#!/bin/bash # 定义变量 INSTALL_DIR="/usr/local/goedge" # 你的 Gitea 下载链接 DOWNLOAD_URL="https://git.vps3344521.xyz/3344/dock/releases/download/Goedge-cdn/edge-admin-linux-amd64-plus-v1.4.7.zip" SAVE_PATH="/tmp/edge-admin.zip" echo "=== 开始检查依赖环境 ===" # 1. 检测并安装 unzip (解压用) if ! command -v unzip &> /dev/null; then echo "未检测到 unzip,正在安装..." apt-get update && apt-get install -y unzip fi # 2. 检测并安装 axel (多线程下载用) if ! command -v axel &> /dev/null; then echo "未检测到 axel,正在安装..." apt-get update && apt-get install -y axel else echo "检测到 axel 已安装。" fi # 3. 准备目录 if [ ! -d "$INSTALL_DIR" ]; then mkdir -p "$INSTALL_DIR" echo "创建目录: $INSTALL_DIR" fi # 4. 使用 axel 多线程下载 echo "=== 开始多线程下载 (10线程) ===" # 先清理旧文件,防止 axel 断点续传出错 rm -f "$SAVE_PATH" # -n 10: 指定10个线程 # -a: 显示简化的进度条 # -o: 指定输出文件名 axel -n 10 -a -o "$SAVE_PATH" "$DOWNLOAD_URL" if [ $? -ne 0 ]; then echo "下载失败,请检查网络或链接有效性。" exit 1 fi # 5. 解压文件 echo "=== 正在解压文件 ===" # -o: 覆盖不提示 # -d: 指定解压目录 unzip -o "$SAVE_PATH" -d "$INSTALL_DIR" # 6. 执行安装和启动 if [ -d "$INSTALL_DIR/edge-admin" ]; then cd "$INSTALL_DIR/edge-admin" echo "=== 正在配置系统服务 ===" ./edge-admin install echo "=== 正在启动 GoEdge Admin ===" ./edge-admin start # 检查进程是否运行 if pgrep -f "edge-admin" > /dev/null; then echo ">>> 安装并启动成功!" echo ">>> 请访问 http://你的IP:7788 进行配置" else echo "启动命令已执行,但进程未检测到,请手动检查 logs 目录。" fi else echo "错误:解压后未找到 edge-admin 目录,请检查下载文件是否正确。" fi