diff --git a/_deploy/maomao-deploy.sh b/_deploy/maomao-deploy.sh new file mode 100644 index 0000000..c9d1f9d --- /dev/null +++ b/_deploy/maomao-deploy.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# 光湖驱动引擎 v2.1 · 毛毛服务器一键部署 +# 粘贴到服务器终端回车即可 +set -e +echo "⚡ 光湖驱动引擎 v2.1 · 毛毛服务器 175.178.176.145" + +echo "[1/5] 环境: $(lsb_release -ds 2>/dev/null||cat /etc/os-release|head -1), $(nproc)核, $(free -h|grep Mem|awk '{print $2}')" + +echo "[2/5] 安装Node.js..." +if command -v node &>/dev/null; then echo " $(node -v)"; else + apt-get update -qq && apt-get install -y -qq curl + curl -fsSL https://deb.nodesource.com/setup_22.x|bash - + apt-get install -y nodejs && echo " $(node -v)" +fi + +echo "[3/5] 部署gatekeeper..." +mkdir -p /opt/guanghu /var/log/guanghu +# 尝试从仓库下载 +curl -fsSL -o /opt/guanghu/gatekeeper.js \ + "https://guanghulab.com/code/bingshuo/guanghulab/raw/branch/main/_deploy/gatekeeper.js" 2>/dev/null \ +|| curl -fsSL -o /opt/guanghu/gatekeeper.js \ + "https://gitee.com/lingdianyuanhe/zero-point-prokaryotic/raw/main/_deploy/gatekeeper.js" 2>/dev/null \ +|| { echo " 下载失败,请手动上传gatekeeper.js到/opt/guanghu/"; exit 1; } +echo " $(wc -c < /opt/guanghu/gatekeeper.js) bytes" + +echo "[4/5] systemd服务..." +cat > /etc/systemd/system/guanghu-engine.service << 'SVC' +[Unit] +Description=光湖驱动引擎 v2.1 +After=network.target +[Service] +Type=simple;User=root;WorkingDirectory=/opt/guanghu +ExecStartPre=/bin/bash -c 'fuser -k 3910/tcp 2>/dev/null;sleep 1;true' +ExecStart=/usr/bin/node /opt/guanghu/gatekeeper.js 3910 +Restart=always;RestartSec=3 +StandardOutput=append:/var/log/guanghu/engine.log +StandardError=append:/var/log/guanghu/engine.log +[Install] +WantedBy=multi-user.target +SVC +systemctl daemon-reload && systemctl enable guanghu-engine + +echo "[5/5] 防火墙+启动..." +apt-get install -y -qq ufw 2>/dev/null; ufw --force enable 2>/dev/null +ufw allow 3910/tcp;ufw allow 80/tcp;ufw allow 22/tcp +systemctl restart guanghu-engine;sleep 2 + +echo "════════════════════════════════════════" +if systemctl is-active --quiet guanghu-engine; then + S=$(cat /root/.gk/secret) + echo "✅ 成功! 端口3910 密钥:$S" + echo "curl -X POST http://175.178.176.145:3910/ping -H 'Authorization: Bearer $S'" +else + echo "❌ 失败 journalctl -u guanghu-engine -n 30" +fi +echo "════════════════════════════════════════"