#!/bin/bash

# 下载链接
URL="https://www.cccimg.com/down.php/c71312a84fb31792a139d1b956b2243e.zip"

# 目标目录（手机存储路径）
TARGET_DIR="/storage/emulated/0/Download"
OUTPUT_FILE="$TARGET_DIR/一零一键隐藏_$(date +%Y%m%d_%H%M%S).zip"

# Magisk包名
MAGISK_PACKAGE="com.sukisu.ultra"

echo "正在下载文件到手机目录..."

# 检查目标目录是否存在
if [ ! -d "$TARGET_DIR" ]; then
    echo "创建目录: $TARGET_DIR"
    mkdir -p "$TARGET_DIR"
fi

# 使用 curl（推荐）
if command -v curl &> /dev/null; then
    echo "使用 curl 下载..."
    curl -L -o "$OUTPUT_FILE" "$URL"

# 如果 curl 不可用，尝试使用 wget
elif command -v wget &> /dev/null; then
    echo "使用 wget 下载..."
    wget -O "$OUTPUT_FILE" "$URL"

else
    echo "错误：请安装 curl 或 wget 后再运行此脚本"
    exit 1
fi

# 检查下载是否成功
if [ $? -eq 0 ] && [ -f "$OUTPUT_FILE" ]; then
    FILE_SIZE=$(stat -c%s "$OUTPUT_FILE" 2>/dev/null || stat -f%z "$OUTPUT_FILE" 2>/dev/null || echo "未知")
    echo "✓ 下载完成！"
    echo "文件保存到: $OUTPUT_FILE"
    echo "文件大小: $FILE_SIZE 字节"
    
    # 检查Magisk应用是否已安装
    echo "检查Magisk应用是否已安装..."
    if pm list packages | grep -q "$MAGISK_PACKAGE"; then
        echo "✓ 检测到Magisk应用: $MAGISK_PACKAGE"
        
        # 方法1: 尝试使用Magisk的特定Activity打开模块文件
        echo "尝试打开Magisk并安装模块..."
        
        # 先尝试打开Magisk主界面
        echo "打开Magisk应用..."
        am start -n "$MAGISK_PACKAGE/.MainActivity" 2>/dev/null
        
        # 等待一下让应用启动
        sleep 1
        
        # 方法2: 尝试直接发送模块安装Intent（如果支持）
        echo "发送模块安装请求..."
        am start -a android.intent.action.VIEW \
                -d "file://$OUTPUT_FILE" \
                -t "application/zip" \
                -n "$MAGISK_PACKAGE/.ui.MainActivity" 2>/dev/null
        
        # 方法3: 另一种尝试
        echo "尝试另一种方式..."
        am start -a "com.topjohnwu.magisk.INSTALL_MODULE" \
                -d "file://$OUTPUT_FILE" \
                -t "application/zip" \
                "$MAGISK_PACKAGE" 2>/dev/null
        
        # 方法4: 使用通用的文件查看器Intent
        echo "使用通用文件打开方式..."
        am start -a android.intent.action.VIEW \
                -d "file://$OUTPUT_FILE" \
                -t "application/zip" \
                --selector 2>/dev/null
        
        echo "✓ 已尝试多种方式打开Magisk安装模块"
        
        # 方法5: 如果以上都不行，尝试用root方式直接安装
        if [ "$(id -u)" -eq 0 ]; then
            echo "检测到root权限，尝试直接安装模块..."
            
            # 检查是否是有效的Magisk模块
            if unzip -l "$OUTPUT_FILE" | grep -q "module.prop"; then
                echo "✓ 检测到有效的Magisk模块"
                
                # 提取模块名称
                MODULE_NAME=$(unzip -l "$OUTPUT_FILE" | grep 'module.prop' | head -1 | awk '{print $NF}' | xargs dirname)
                MODULE_PATH="/data/adb/modules/$MODULE_NAME"
                
                echo "模块名称: $MODULE_NAME"
                
                # 如果模块已存在，先删除
                if [ -d "$MODULE_PATH" ]; then
                    echo "移除旧版本模块..."
                    rm -rf "$MODULE_PATH"
                fi
                
                # 创建模块目录并解压
                echo "安装新模块..."
                mkdir -p "$MODULE_PATH"
                unzip -q -o "$OUTPUT_FILE" -d "$MODULE_PATH"
                
                # 设置权限
                chmod -R 755 "$MODULE_PATH"
                chown -R root:root "$MODULE_PATH"
                
                echo "✓ 模块已直接安装到: $MODULE_PATH"
                echo "请重启设备使模块生效"
            else
                echo "⚠ 文件可能不是有效的Magisk模块"
            fi
        fi
        
    else
        echo "✗ 未找到Magisk应用: $MAGISK_PACKAGE"
        echo "请确保已安装正确的Magisk应用"
    fi
    
    # 提供手动操作指引
    echo ""
    echo "========================================="
    echo "如果自动安装失败，请手动操作："
    echo "1. 打开 $MAGISK_PACKAGE 应用"
    echo "2. 进入'模块'页面"
    echo "3. 点击'从本地安装'或'安装'按钮"
    echo "4. 导航到: $TARGET_DIR/"
    echo "5. 选择文件: $(basename "$OUTPUT_FILE")"
    echo "========================================="
    
else
    echo "✗ 下载失败！"
    exit 1
fi