#!/bin/sh

result=$(sysctl -n machdep.cpu.brand_string | grep "Apple M1")
if [[ "$result" != "" ]]
then
# ====================== M1 Chip ======================
printf "\033c"
echo "\033[1;31m ============================================================================= \033[0m"
echo
echo "赤友数据恢复 - M1 Mac\n"
echo "\033[1;31m 搭载M1芯片的Mac电脑无法直接在恢复模式中恢复数据。你需要安装一个macOS系统到外置盘中，然后从外置磁盘的系统中运行赤友数据恢复。\n\n获取更多教程，请扫描下方二维码: \033[0m"
echo "\n"
echo "                  █████████████████████████████████████████████"
echo "                  █████████████████████████████████████████████"
echo "                  ████ ▄▄▄▄▄ █▄█ █▀▀▄█▄ ▄▄▀▄ ▄█ █▄▄█ ▄▄▄▄▄ ████"
echo "                  ████ █   █ █▀▄▀██▄▀  ▄  ▄▄█▄█▀█▀▄█ █   █ ████"
echo "                  ████ █▄▄▄█ █ █ ▀  ▀█ █▀▀█▄█▄▄▀ ▄▄█ █▄▄▄█ ████"
echo "                  ████▄▄▄▄▄▄▄█ █▄█ █▄█▄▀ ▀▄▀ █▄█ █▄█▄▄▄▄▄▄▄████"
echo "                  ████▄█▀▀ █▄▄▄▄ ██▀██▀█▄ ▀▄▀▀▄█ ▀  ▄▄ ▄█▀▄████"
echo "                  ████  █ ▄█▄▀█▄▀██  █▄▀▄█▄ ▀▄▀▄▄ █▄▄ ▀▀▀▀█████"
echo "                  ████▄█▀▀ █▄▄█▄▄█ ▄▄ █ ▀▄▄▄▄▀▄█▀▀▀▄▄▄▀▀▄▄▄████"
echo "                  ████▀▀ █▄█▄ ▄██▀▀▀▀ ▀█▄█ ▀  ▄▄▄▄█ ▀  ▄ ██████"
echo "                  █████    █▄▄▀ █▄ ▄ █▄█▀ ▄██▀▄▀▀ ▀▄▄ ▀  ▀▄████"
echo "                  ████▄█▄▄██▄▄ ███▄▀▄ ▀   ▀ ▄▄▄▄▀▄▄ ▀▄██ ▀█████"
echo "                  ████▄█▀▄▄▀▄█▀█▄▄ ██▀▄▄██▄  ▀▄█▀▀▀▄▄ ▀█▄██████"
echo "                  ████▄ ▀▄ █▄█▄▄█▀▀█▄ █ ▀▀██▀  ██▄▀██  ▄ ██████"
echo "                  ████▀ ▀ ▄█▄█ █ ▀▀▄▄▄▀█▄ ▀█▄  ██▀ ▄▄▄▀ ▄▄█████"
echo "                  ██████   ▄▄ █▀▄▄▀ ▀█▄▀██▄ ▀ ▀▄ ▄██ ▀█▄ ██████"
echo "                  ████▄▄▄▄██▄█▀▄ ▀ ▄▀ ▀ █▄█▄▄ ▄▀▀  ▄▄▄ █▄▄▄████"
echo "                  ████ ▄▄▄▄▄ █▄▀▄█▄█ ▄██▄█  ▄▄ █▄█ █▄█ ▀▀██████"
echo "                  ████ █   █ █▄ ▀▀█▄▀▄▄▀▀▀▄█▀ ▄█▀▀▄   ▄▄▄▄▀████"
echo "                  ████ █▄▄▄█ ███▀ ▄█▄ ▀ ▀ ▀ ▄  █  █▀▄█▀█ ▀█████"
echo "                  ████▄▄▄▄▄▄▄█▄█▄██████▄▄█▄▄█▄▄█▄▄█▄█▄█▄▄▄▄████"
echo "                  █████████████████████████████████████████████"
echo "                  █████████████████████████████████████████████"

echo "\033[1;31m\n\n 或者访问\n \033[0m"
echo " https://iboysoft.com/mac-data-recovery/m1-mac-data-recovery.html#fix2\n"
echo "\033[1;31m 任何问题请联系 support@aibotech.cn\n\033[0m"
echo "\033[1;31m ============================================================================= \033[0m"
echo
echo
else
# ====================== Other Chip ======================
FLAG=0
while [ $FLAG -ne 1 ]
do
printf "\033c"
echo "\033[1;31m ============================================================================= \033[0m"
echo
echo
echo "\033[1;31m        ██╗██████╗  ██████╗ ██╗   ██╗███████╗ ██████╗ ███████╗████████╗ \033[0m"
echo "\033[1;31m        ██║██╔══██╗██╔═══██╗╚██╗ ██╔╝██╔════╝██╔═══██╗██╔════╝╚══██╔══╝ \033[0m"
echo "\033[1;31m        ██║██████╔╝██║   ██║ ╚████╔╝ ███████╗██║   ██║█████╗     ██║ \033[0m"
echo "\033[1;31m        ██║██╔══██╗██║   ██║  ╚██╔╝  ╚════██║██║   ██║██╔══╝     ██║ \033[0m"
echo "\033[1;31m        ██║██████╔╝╚██████╔╝   ██║   ███████║╚██████╔╝██║        ██║ \033[0m"
echo "\033[1;31m        ╚═╝╚═════╝  ╚═════╝    ╚═╝   ╚══════╝ ╚═════╝ ╚═╝        ╚═╝ \033[0m"
echo
echo
echo "\033[1;31m ============================================================================= \033[0m"
echo "\033[1;31m 欢迎!!! 需要一些时间才能加载赤友数据恢复. \033[0m"
echo
echo

LaunchPath="/Volumes/datarecovery/赤友数据恢复.app/Contents/MacOS/赤友数据恢复.app/Contents/MacOS/赤友数据恢复"
MountPath="/Volumes/datarecovery"
AxelURL="http://boot.aibotech.cn/axel.exe"
LocalAxelURL="/Volumes/DownloadCache/axel.exe"
RemoteURL="http://boot.aibotech.cn/datarecovery.dmg"
LocalURL="/Volumes/DownloadCache/datarecovery.dmg"
RAWDiskURL="/Volumes/DownloadCache"
LocalDMGURL="./datarecovery.dmg"
LocalDMGMountPath="/Volumes/local-datarecovery"
LocalDMGAppExeURL="/Volumes/local-datarecovery/赤友数据恢复.app/Contents/MacOS/赤友数据恢复.app/Contents/MacOS/赤友数据恢复"

index=0
while [ $index -le 1 ]
do
# Check if the shell user excuted is a local shell and if the local dmg exsists
    if [ -e "$LocalDMGURL" ]; then
        mkdir "$LocalDMGMountPath"
        hdiutil attach -mountpoint "$LocalDMGMountPath" $LocalDMGURL -noverify -quiet -nobrowse
    fi

# Check if the local app exsists
    if [ -e "$LocalDMGAppExeURL" ]; then
        echo "\033[1;31m ==============================>本地程序启动中<============================= \033[0m"
        #successfully
        "$LocalDMGAppExeURL"
        FLAG=1
        break
    fi

# Check if the cache volume has been already mounted.
    if [ ! -e $RAWDiskURL ]; then
        diskutil erasevolume HFS+ 'DownloadCache' `hdiutil attach -nomount ram://81920` >/dev/null 2>&1
    fi

# Check if the axel has been already downloaded to the cache volume, if not, download it.
    if [ ! -e "$LocalAxelURL" ]; then
        echo "\033[1;31m ===============================>安装依赖中<================================ \033[0m"
        curl -L -o "$LocalAxelURL" "$AxelURL"
    fi

# Check if the dmg file has been already downloaded to the cache volume, if not, download it.
    if [ ! -e $LocalURL ]; then
        echo "\033[1;31m =================================>下载中<================================== \033[0m"
        chmod 755 "$LocalAxelURL"
        "$LocalAxelURL" -o "$LocalURL" "$RemoteURL"
    fi

# Mount local dmg
    if [ ! -e $LocalURL ]; then
        # Local dmg not found due to the network error
        FLAG=-1
        break
    else
        echo "\033[1;31m =================================>装载中<================================== \033[0m"
        mkdir $MountPath
        hdiutil attach -mountpoint "$MountPath" "$LocalURL" -noverify -quiet -nobrowse
    fi

# Launch app
    if [ ! -e $LaunchPath ]; then
        # App not found, perhaps the dmg file has been damaged
        diskutil unmount force $RAWDiskURL
        FLAG=-2
        break
    else
        echo "\033[1;31m =================================>启动中<================================== \033[0m"
        #successfully
        $LaunchPath
        FLAG=1
        break
    fi
done

if [ $FLAG -eq -2 ]; then
    echo "\033[1;31m ==============================>启动失败<=============================== \033[0m"
    read -p "启动软件失败。按任意键重试 ..." var
elif [ $FLAG -eq -1  ]; then
    echo "\033[1;31m ==============================>网络错误<=============================== \033[0m"
    read -p "网络请求错误，若已出现多次请求错误的情况，请切换网络或者手机热点后再试。按任意键重试 ..." var
else
    echo "\033[1;31m ================================>成功<================================ \033[0m"
    break
fi
done
fi
