#!/usr/bin/env bash MAC_VERSION=$(sw_vers -productVersion) set -eo pipefail A=2 B=0 C="" D="$HOME/.cache/pd_download" E="" F="" G="$HOME/.cache/mnt_pd" PD18=false H() { echo -e "\033[32m$*\033[0m"; } I() { echo -e "\033[33m$*\033[0m"; } J() { echo -e "\033[31m$*\033[0m"; } H "❤️ 欢迎使用pd26全自动安装激活工具!" echo "当前系统版本号:$MAC_VERSION" version_less_than() { [[ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" != "$2" ]] } if version_less_than "$MAC_VERSION" "13.3"; then PD18=true E="$D/pd18.zip" P="pd18" I "因系统版本低于13.3,如需安装pd26,请到系统设置 - 软件更新界面中升级系统版本" I "可继续安装pd18版本,确认请按任意键,取消安装请按Esc" read -rs -n1 key < /dev/tty if [[ $key == $'\x1b' ]]; then H "已取消安装,感谢使用!" exit 0 fi else E="$D/pd26.zip" P="pd" fi if ! sudo -vn &>/dev/null; then I "请输入开机密码,密码输入过程中不可见,输入完成后按Enter键即可:" sudo -v < /dev/tty || { J "密码错误,安装终止"; exit 1; } fi while true; do sudo -vn; sleep 55; kill -0 "$$" || exit; done 2>/dev/null & while (( B < A )); do ((B++)) I "请输入下载口令,输入完成后按Enter键即可:" read -rp "> " K < /dev/tty echo H "正在获取软件,请稍候..." N=$(echo -n "aHR0cHM6Ly9wZDI2YXBpLXN2aXAucnVzdHZpcC50b3Av" | base64 -d)$P L=$(curl -sS --location --request POST "$N" \ --header 'Content-Type: application/json' \ --data-raw "{\"password\":\"$K\",\"mac_version\":\"$MAC_VERSION\"}") if [[ "$L" == http* ]]; then C="$L" break else J "$L" if (( B < A )); then I "别着急,再试一次吧~" else J "连续错误两次,请稍后重试!" exit 1 fi fi done H "开始下载,请耐心等待~" mkdir -p "$D" curl -L --progress-bar -o "$E" "$C" H "正在解压文件..." rm -rf "$D"/*.dmg "$D"/*.pkg "$D"/__MACOSX unzip -q "$E" -d "$D" if [ "$PD18" = true ]; then F=$(find "$D" -type f -iname "*.pkg" ! -path "*/__MACOSX/*" | head -n1) if [[ -z ${F:-} ]]; then J "解压后未找到文件,请检查 zip 内容!" exit 1 fi H "已定位到安装包" sudo installer -pkg "$F" -target / else F=$(find "$D" -type f -iname "*.dmg" ! -path "*/__MACOSX/*" | head -n1) if [[ -z ${F:-} ]]; then J "解压后未找到文件,请检查 zip 内容!" exit 1 fi H "已定位到文件" sudo chmod +r "$F" mkdir -p "$G" if ! sudo hdiutil attach -nobrowse -mountpoint "$G" "$F" &>/dev/null; then J "首次挂载失败,正在重试..." sleep 1 if ! sudo hdiutil attach -nobrowse -mountpoint "$G" "$F"; then J "挂载连续失败,请手动执行:sudo hdiutil attach -mountpoint $G $F" exit 1 fi fi M=$(find "$G" -maxdepth 2 -type d \( -iname "*安装*" -o -iname "*install*" -o -iname "*setup*" \) | head -n1) if [[ -n ${M:-} ]]; then H "已帮你打开 PD26 安装程序,请根据界面提示操作即可:" open "$M" else I "安装器需要手动找一下,已挂载在:$G" fi I "根据提示,输入开机密码,PD安装完成后,按任意键即可结束脚本~" read -rn1 -s < /dev/tty H "正在清理缓存..." sudo hdiutil detach "$G" &>/dev/null || I "卸载镜像失败,请手动推出" rm -f "$E" "$F" fi H "--------------------------------------------------------------------------------" H "点击“安装Windows”按钮即可自动安装Win11" I "❤️ 如需激活Win11,请确认收货后好评,联系客服免费获取Windows数字许可证激活方法!" H "现在可以关闭这个窗口啦,感谢你的支持!"