#!/bin/sh
# ============================================================
# K-UI Agent 离线清理卸载脚本
# 用途：在目标 VPS 上以 root 执行，停止并彻底清理 K-UI Agent。
# 用法：
#   curl -fsSL https://你的面板域名/vps/uninstall.sh | sh
#   或下载后执行： sh uninstall.sh
# 说明：本脚本无需面板在线即可运行，会停止服务、结束残留进程并删除 /opt/kui。
# ============================================================
set -e

if [ "$(id -u)" -ne 0 ]; then
    echo "[kui] 错误：请使用 root 用户运行此脚本（sudo -i 后重试）。"
    exit 1
fi

echo "[kui] 开始卸载 K-UI Agent ..."

# 1. 停止并禁用服务（兼容 systemd / OpenRC）
if command -v systemctl >/dev/null 2>&1; then
    systemctl stop kui-agent 2>/dev/null || true
    systemctl disable kui-agent 2>/dev/null || true
fi
if command -v rc-service >/dev/null 2>&1; then
    rc-service kui-agent stop 2>/dev/null || true
    rc-update del kui-agent 2>/dev/null || true
fi

# 2. 兜底结束残留 agent 进程（运行目录可能尚未删除）
pkill -f /opt/kui/run-agent.sh 2>/dev/null || true
pkill -f /opt/kui/agent.py 2>/dev/null || true

# 等待进程退出
sleep 2

# 3. 再次清理，防止 run-agent.sh 自动重启导致目录重建
pkill -f /opt/kui/run-agent.sh 2>/dev/null || true
pkill -f /opt/kui/agent.py 2>/dev/null || true

# 4. 删除程序与运行目录、服务文件、系统优化配置
rm -rf /opt/kui
rm -f /etc/systemd/system/kui-agent.service /etc/init.d/kui-agent
rm -f /etc/sysctl.d/99-kui-optimize.conf /etc/sysctl.d/99-kui-bbr.conf
rm -rf /var/run/kui

# 5. 刷新 systemd
if command -v systemctl >/dev/null 2>&1; then
    systemctl daemon-reload 2>/dev/null || true
fi

echo "[kui] 卸载完成：K-UI Agent 已被停止并清理，相关文件与系统服务已移除。"
