#!/usr/bin/env bash
# ====================================================================
# FRP Client Uninstaller for Ubuntu / Linux
# ====================================================================

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'

if [ "$EUID" -ne 0 ]; then
    echo -e "${RED}[ERROR] กรุณารันสคริปต์นี้ด้วยสิทธิ์ root (เช่น sudo ./uninstall.sh)${NC}"
    exit 1
fi

echo -e "${CYAN}====================================================================${NC}"
echo -e "${YELLOW}           🗑️  กำลังถอนการติดตั้ง FRP Client Service  🗑️           ${NC}"
echo -e "${CYAN}====================================================================${NC}"

# Stop and disable service
if systemctl list-unit-files | grep -q frpc.service; then
    echo -e "${BLUE}[INFO] กำลังหยุดการทำงานของ Service...${NC}"
    systemctl stop frpc > /dev/null 2>&1
    systemctl disable frpc > /dev/null 2>&1
    rm -f /etc/systemd/system/frpc.service
    systemctl daemon-reload
    echo -e "${GREEN}✔ ลบ Systemd Service เรียบร้อยแล้ว${NC}"
fi

# Remove binary
if [ -f "/usr/local/bin/frpc" ]; then
    rm -f "/usr/local/bin/frpc"
    echo -e "${GREEN}✔ ลบไฟล์ไบนารี /usr/local/bin/frpc เรียบร้อยแล้ว${NC}"
fi

# Check -y flag for silent uninstall
AUTO_REMOVE=false
while [[ $# -gt 0 ]]; do
    case "$1" in
        -y|--auto|--silent)
            AUTO_REMOVE=true
            shift
            ;;
        *)
            shift
            ;;
    esac
done

# Ask to remove config
if [ -d "/etc/frp" ]; then
    if [ "$AUTO_REMOVE" = true ]; then
        REMOVE_CONF="y"
    else
        read -p "ต้องการลบโฟลเดอร์การตั้งค่า /etc/frp หรือไม่? [y/N]: " REMOVE_CONF < /dev/tty 2>/dev/null
    fi
    if [[ "$REMOVE_CONF" =~ ^[Yy]$ ]]; then
        rm -rf "/etc/frp"
        echo -e "${GREEN}✔ ลบไฟล์คอนฟิก /etc/frp เรียบร้อยแล้ว${NC}"
    else
        echo -e "${YELLOW}✔ เก็บไฟล์คอนฟิกไว้ที่ /etc/frp เหมือนเดิม${NC}"
    fi
fi

echo -e "\n${GREEN}🎉 ถอนการติดตั้ง FRP Client เสร็จสมบูรณ์! 🎉${NC}\n"
