#!/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线程) ===" rm -f "$SAVE_PATH" axel -n 10 -a -o "$SAVE_PATH" "$DOWNLOAD_URL" if [ $? -ne 0 ]; then echo "下载失败,请检查网络或链接有效性。" exit 1 fi # 5. 解压文件 echo "=== 正在解压文件 ===" unzip -o "$SAVE_PATH" -d "$INSTALL_DIR" # 6. 自动寻找并执行安装 # 兼容不同解压路径,自动寻找 edge-admin 二进制文件所在位置 REAL_BIN_PATH=$(find $INSTALL_DIR -name "edge-admin" -type f | grep "/bin/" | head -n 1) if [ -f "$REAL_BIN_PATH" ]; then REAL_DIR=$(dirname $(dirname "$REAL_BIN_PATH")) cd "$REAL_DIR" echo "=== 正在配置系统服务 ===" chmod +x bin/edge-admin ./bin/edge-admin install echo "=== 正在启动 GoEdge Admin ===" ./bin/edge-admin start # 获取本机 IP SERVER_IP=$(curl -s https://ifconfig.me || hostname -I | awk '{print $1}') echo "" echo "======================================================" echo "🎉 GoEdge Admin 安装并启动成功!" echo "======================================================" echo "👉 访问地址: http://${SERVER_IP}:7788" echo "👉 默认配置: 请按照网页提示进行初始化" echo "👉 数据目录: ${REAL_DIR}" echo "======================================================" else echo "错误:未能找到 edge-admin 程序,请检查压缩包内容。" fi