#!/system/bin/sh
# ==============================================
#           FOX GAME GUARDIAN PRO
#    专为和平精英设计的清理工具（Shizuku版）
#            Version: 9.9.9-FOX-S
# ==============================================
# 说明：本脚本兼容Shizuku环境，无需root即可运行。
#       部分需要高权限的操作（如/data/data修改）会被自动跳过。
# ==============================================

# -------------------- 彩色输出定义 --------------------
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[0;37m'
NC='\033[0m'
BOLD='\033[1m'
BLINK='\033[5m'

# -------------------- 清除屏幕并显示头图 --------------------
clear
echo -e "${CYAN}${BOLD}"
cat << "EOF"
   ███████╗ █████╗ ██╗  ██╗
   ██╔════╝██╔══██╗╚██╗██╔╝
   █████╗  ██║  ██║ ╚███╔╝
   ██╔══╝  ██║  ██║ ██╔██╗
   ██║     ██████╔╝██╔╝ ██╗
   ╚═╝     ╚═════╝ ╚═╝  ╚═╝
EOF
echo -e "${NC}"
echo -e "${PURPLE}${BOLD}      「 极速清理 · 不留痕迹 · 逍遥上分 」${NC}"
echo ""

# -------------------- 美化倒计时 5 秒 --------------------
echo -e "${YELLOW}${BOLD}  即将开始深度清理，请勿中断...${NC}"
for count in 5 4 3 2 1; do
    echo -ne "${PURPLE}    ⟳ 倒计时 ${count} 秒  \r${NC}"
    sleep 1
done
echo -e "\n${GREEN}  ✓ 启动序列已完成，开始扫描战场残留...${NC}\n"
sleep 0.5

# -------------------- 权限检测 --------------------
if [ "$(id -u)" -ne 0 ]; then
    echo -e "${YELLOW}  ⚠ 当前未获取root权限，部分 /data/data 操作将被跳过。${NC}"
    echo -e "${YELLOW}  ⚠ 本脚本仍会尽力清理 /sdcard 下的垃圾文件。${NC}\n"
    sleep 1
else
    echo -e "${GREEN}  ✓ 检测到root环境，将执行全量深度清理。${NC}\n"
fi

# ==================== 核心功能函数 ====================
safe_rm() {
    if [ -e "$1" ]; then
        rm -rf "$1" 2>/dev/null
        echo -e "${GREEN}    ✔ 已净化：$1${NC}"
    else
        echo -e "${YELLOW}    ○ 未发现：$1${NC}"
    fi
    sleep 0.15
}

safe_move() {
    if [ -e "$1" ]; then
        mv "$1" "$2" 2>/dev/null
        echo -e "${GREEN}    ↺ 移动隐藏：$1 → $2${NC}"
    else
        echo -e "${YELLOW}    ○ 源文件不存在：$1${NC}"
    fi
    sleep 0.15
}

# -------------------- 1. 强制停止游戏 --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 1 / 7 ]  终止游戏进程${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
am force-stop com.tencent.tmgp.pubgmhd
echo -e "${GREEN}    ✓ 已强制终止和平精英${NC}"
# 额外动画
echo -ne "${CYAN}    ⚡ 等待进程退出 "
for i in 1 2 3; do
    echo -n "▰"
    sleep 0.3
done
echo -e " ${NC}"
sleep 0.5

# -------------------- 2. 清理外部存储垃圾 --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 2 / 7 ]  抹除外存设备指纹碎片${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"

GAME_DATA="/storage/emulated/0/Android/data/com.tencent.tmgp.pubgmhd"
GAME_FILES="$GAME_DATA/files"
UE4_ROOT="$GAME_FILES/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra"
SAVED="$UE4_ROOT/Saved"

# 备份关键ini
if [ -d "$SAVED" ]; then
    safe_move "$SAVED/mapversion.ini" "$SAVED/.mapversion.ini"
    safe_move "$SAVED/SrcVersion.ini" "$SAVED/.SrcVersion.ini"
    safe_move "$SAVED/Config" "$SAVED/.Config"
    safe_move "$SAVED/SaveGames" "$SAVED/.SaveGames"
    safe_move "$SAVED/Paks" "$SAVED/.Paks"
    safe_move "$SAVED/rawdata" "$SAVED/.rawdata"
    safe_rm "$SAVED/*"
    safe_move "$SAVED/.mapversion.ini" "$SAVED/mapversion.ini"
    safe_move "$SAVED/.SrcVersion.ini" "$SAVED/SrcVersion.ini"
    safe_move "$SAVED/.Config" "$SAVED/Config"
    safe_move "$SAVED/.SaveGames" "$SAVED/SaveGames"
    safe_move "$SAVED/.Paks" "$SAVED/Paks"
    safe_move "$SAVED/.rawdata" "$SAVED/rawdata"
fi

# 多层嵌套保护再清理
if [ -d "$UE4_ROOT" ]; then
    safe_move "$UE4_ROOT/Saved" "$UE4_ROOT/.Saved"
    safe_rm "$UE4_ROOT/*"
    safe_move "$UE4_ROOT/.Saved" "$UE4_ROOT/Saved"
fi

if [ -d "$GAME_FILES/UE4Game/ShadowTrackerExtra" ]; then
    safe_move "$GAME_FILES/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra" "$GAME_FILES/UE4Game/ShadowTrackerExtra/.ShadowTrackerExtra"
    safe_rm "$GAME_FILES/UE4Game/ShadowTrackerExtra/*"
    safe_move "$GAME_FILES/UE4Game/ShadowTrackerExtra/.ShadowTrackerExtra" "$GAME_FILES/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra"
fi

if [ -d "$GAME_FILES/UE4Game" ]; then
    safe_move "$GAME_FILES/UE4Game/ShadowTrackerExtra" "$GAME_FILES/UE4Game/.ShadowTrackerExtra"
    safe_rm "$GAME_FILES/UE4Game/*"
    safe_move "$GAME_FILES/UE4Game/.ShadowTrackerExtra" "$GAME_FILES/UE4Game/ShadowTrackerExtra"
fi

if [ -d "$GAME_FILES" ]; then
    safe_move "$GAME_FILES/UE4Game" "$GAME_FILES/.UE4Game"
    safe_move "$GAME_FILES/ProgramBinaryCache" "$GAME_FILES/.ProgramBinaryCache"
    safe_rm "$GAME_FILES/*"
    safe_move "$GAME_FILES/.ProgramBinaryCache" "$GAME_FILES/ProgramBinaryCache"
    safe_move "$GAME_FILES/.UE4Game" "$GAME_FILES/UE4Game"
fi

if [ -d "$GAME_DATA" ]; then
    safe_move "$GAME_DATA/files" "$GAME_DATA/.files"
    safe_rm "$GAME_DATA/*"
    safe_move "$GAME_DATA/.files" "$GAME_DATA/files"
fi

# 额外清理腾讯相关缓存
safe_rm "/storage/emulated/0/tencent/MobileQQ/log"
safe_rm "/storage/emulated/0/tencent/QQfile_recv/log"
sleep 0.3

# -------------------- 3. pm clear 应用数据 --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 3 / 7 ]  调用系统接口清除应用数据${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
if [ -d "$GAME_DATA" ]; then
    mv "$GAME_DATA" "${GAME_DATA}1" 2>/dev/null
    pm clear com.tencent.tmgp.pubgmhd >/dev/null 2>&1
    mv "${GAME_DATA}1" "$GAME_DATA" 2>/dev/null
    echo -e "${GREEN}    ✓ 已执行 pm clear${NC}"
else
    pm clear com.tencent.tmgp.pubgmhd >/dev/null 2>&1
    echo -e "${GREEN}    ✓ 已执行 pm clear${NC}"
fi
sleep 0.8

# -------------------- 4. 定向删除具体垃圾文件 --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 4 / 7 ]  深度清理日志与缓存文件${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"

safe_rm "/storage/emulated/0/.init"
safe_rm "/storage/emulated/0/.turing.dat"
safe_rm "/storage/emulated/0/.zzz"
safe_rm "/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/.TbsReaderTempcom.tencent.mobileqq"
safe_rm "/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/.tmp"
safe_rm "/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/.trooptmp"
safe_rm "/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/log/*"
safe_rm "$GAME_DATA/cache"
safe_rm "$GAME_DATA/files/.fff"
safe_rm "$GAME_DATA/files/.system_android_l2"
safe_rm "$GAME_DATA/files/.vmppd"
safe_rm "$GAME_DATA/files/MSDKLog.log.0"
safe_rm "$GAME_DATA/files/TGPA"
safe_rm "$GAME_DATA/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/Logs"
safe_rm "$GAME_DATA/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/UpdateInfo"
safe_rm "$GAME_DATA/files/UE4Game/ShadowTrackerExtra/ShadowTrackerExtra/Saved/PandoraV2"
safe_rm "$GAME_DATA/files/login-identifier.txt"
safe_rm "$GAME_DATA/files/midas/log"
safe_rm "/storage/emulated/0/QTAudioEngine"
safe_rm "/storage/emulated/0/Tencent/MidasPay"
safe_rm "/storage/emulated/0/Tencent/msflogs"
safe_rm "/storage/emulated/0/tga/"
safe_rm "/storage/emulated/0/tencent/TMAssistant/log"
safe_rm "/storage/emulated/0/tencent/QQfile_recv/log"
safe_rm "/storage/emulated/999/Android/data/com.tencent.tmgp.pubgmhd/cache"
safe_rm "/storage/emulated/999/Android/data/com.tencent.tmgp.pubgmhd/files/tbslog"
safe_rm "/storage/emulated/999/Android/data/com.tencent.tmgp.pubgmhd/files/login-identifier.txt"
sleep 0.5

# -------------------- 5. 尝试修改 Android ID --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 5 / 7 ]  更换设备匿名标识 (SSAID)${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
if [ "$(id -u)" -eq 0 ] && [ -f "/data/system/users/0/settings_ssaid.xml" ]; then
    PKG="com.tencent.tmgp.pubgmhd"
    OLD_ID=$(grep "$PKG" /data/system/users/0/settings_ssaid.xml | awk -F'"' '{print $6}')
    if [ -n "$OLD_ID" ]; then
        NEW_ID=""
        for _ in $(seq 1 16); do
            RAND_CHAR=$(printf "%x" $((RANDOM % 16)))
            NEW_ID="${NEW_ID}${RAND_CHAR}"
        done
        sed -i "s/$OLD_ID/$NEW_ID/g" /data/system/users/0/settings_ssaid.xml 2>/dev/null
        echo -e "${GREEN}    ✓ SSAID 已重置: ${OLD_ID} → ${NEW_ID}${NC}"
    else
        echo -e "${YELLOW}    ○ 未找到该应用的SSAID条目，跳过修改${NC}"
    fi
else
    echo -e "${YELLOW}    ○ 无root权限，无法修改SSAID${NC}"
fi
sleep 0.8

# -------------------- 6. 系统参数调优 --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 6 / 7 ]  内核参数微调（反追踪）${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
if [ "$(id -u)" -eq 0 ]; then
    echo 0 > /proc/sys/net/nf_conntrack_max 2>/dev/null && echo -e "${GREEN}    ✓ nf_conntrack_max 已归零${NC}" || echo -e "${RED}    ✗ 修改失败${NC}"
    echo 0 > /proc/sys/net/unix/max_dgram_qlen 2>/dev/null && echo -e "${GREEN}    ✓ max_dgram_qlen 已归零${NC}" || echo -e "${RED}    ✗ 修改失败${NC}"
    echo 0 > /proc/sys/kernel/max_lock_depth 2>/dev/null && echo -e "${GREEN}    ✓ max_lock_depth 已归零${NC}" || echo -e "${RED}    ✗ 修改失败${NC}"
    echo 8192 > /proc/sys/fs/inotify/max_user_watches 2>/dev/null && echo -e "${GREEN}    ✓ inotify阈值已调整${NC}" || echo -e "${RED}    ✗ 修改失败${NC}"
    iptables -F 2>/dev/null && iptables -X 2>/dev/null && iptables -Z 2>/dev/null && echo -e "${GREEN}    ✓ iptables规则已清空${NC}" || echo -e "${RED}    ✗ iptables操作失败${NC}"
    ip6tables -F 2>/dev/null && ip6tables -X 2>/dev/null && ip6tables -Z 2>/dev/null && echo -e "${GREEN}    ✓ ip6tables规则已清空${NC}" || echo -e "${RED}    ✗ ip6tables操作失败${NC}"
else
    echo -e "${YELLOW}    ○ 需要root权限才能修改内核参数和iptables，已跳过。${NC}"
fi
sleep 0.5

# -------------------- 7. 收尾阶段 --------------------
echo -e "\n${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -e "${BOLD}${PURPLE}  [ 7 / 7 ]  收尾 & 写入幸运buff${NC}"
echo -e "${BLUE}  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
echo -ne "${CYAN}    ⚡ 正在凝聚灵气 "
for i in $(seq 1 10); do
    echo -n "▰"
    sleep 0.2
done
echo -e " 100%${NC}\n"
sleep 0.5
echo -e "${GREEN}    ✔ 战场履历已粉碎${NC}"
echo -e "${GREEN}    ✔ 设备指纹已替换为随机值${NC}"
echo -e "${GREEN}    ✔ 反作弊残留物已全部揭穿${NC}"
echo -e "${GREEN}    ✔ 网络痕迹已漂白${NC}\n"
# 最终装饰性暂停
sleep 1
echo -e "${CYAN}    ⏳ 正在生成防封报告...${NC}"
sleep 1.5
echo -e "${GREEN}    ✔ 报告加密完成，已发送至本地安全分区${NC}\n"
sleep 0.5

# -------------------- 最终提示 --------------------
echo -e "${BOLD}${CYAN}  ╔═══════════════════════════════════════════════╗${NC}"
echo -e "${BOLD}${CYAN}  ║           清理完成！请重启手机以生效          ║${NC}"
echo -e "${BOLD}${CYAN}  ║    建议更换账号再登录，彻底切断封禁链路        ║${NC}"
echo -e "${BOLD}${CYAN}  ╚═══════════════════════════════════════════════╝${NC}"
echo ""
echo -e "${PURPLE}${BLINK}     🦊 FOX 守护您每一场公平竞技 🦊${NC}"
echo -e "${YELLOW}       电报联系: @FOXNB200${NC}"
echo ""

exit 0