diff --git a/README.md b/README.md index 6b5fa55..3c137a3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ - **iPhone4Down: Downgrade your iPhone 4 on Linux/Windows (using powdersn0w)** - **Linux, macOS, and Windows** are supported - Windows usage is not recommended - - iPhone4Down focuses on Linux support - use [cherryflowerJB](https://web.archive.org/web/20210701000000*/https://dora2ios.web.app/CFJB/) or [powdersn0w](https://dora2ios.web.app/konayuki/index.html) on macOS instead + - iPhone4Down focuses on Linux support - use [cherryflowerJB](https://web.archive.org/web/20210322151509/https://dora2ios.web.app/CFJB/) or [powdersn0w](https://web.archive.org/web/20221213010446/https://dora2ios.web.app/konayuki/index.html) on macOS instead - **Read the ["How to Use" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/How-to-Use) for a step-by-step tutorial** - **Read the ["Troubleshooting" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting) for tips, frequent questions, and troubleshooting** @@ -23,7 +23,7 @@ - iPhone 5C can still be restored to versions that you have SHSH blobs for - iPhone 4 devices also support restoring with SHSH blobs - **iPhone4Down supports iPhone 4 GSM and CDMA (iPhone3,1 and iPhone3,3)** - - iPhone3,3 support is not tested. Use [powdersn0w](https://dora2ios.web.app/konayuki/index.html) on macOS instead + - iPhone3,3 support is not tested. Use [powdersn0w](https://web.archive.org/web/20221213010446/https://dora2ios.web.app/konayuki/index.html) on macOS instead @@ -72,6 +72,7 @@ ## Supported OS versions/distros +#### Supported architectures: x86_64, armhf (Linux), arm64 (macOS only for now) - [**Ubuntu**](https://ubuntu.com/) 20.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/) - [**Fedora**](https://getfedora.org/) 36 and newer diff --git a/resources/depends.sh b/resources/depends.sh index cca9e00..ac75db0 100755 --- a/resources/depends.sh +++ b/resources/depends.sh @@ -181,7 +181,7 @@ SaveExternal() { Name=ch3rryflower SHA1=790d56db354151b9740c929e52c097ba57f2929d elif [[ $1 == "powdersn0w" ]]; then - Link=https://dora2ios.github.io/download/konayuki/powdersn0w_v2.0b3.zip + Link=https://web.archive.org/web/20220802230119if_/https://dora2ios.github.io/download/konayuki/powdersn0w_v2.0b3.zip Name=powdersn0w SHA1=c733aac4a0833558ef9f5517f2a11ca547110b6e fi @@ -252,7 +252,8 @@ InstallDepends() { (( DebianVer >= 11 )) || [[ $DebianVer == "sid" ]]; then [[ -n $UBUNTU_CODENAME ]] && sudo add-apt-repository -y universe sudo apt update - sudo apt install -y bsdiff curl jq libimobiledevice6 openssh-client python2 python3 unzip usbmuxd usbutils xmlstarlet xxd zenity zip + sudo apt install -y bsdiff curl jq libimobiledevice6 openssh-client python3 unzip usbmuxd usbutils xmlstarlet xxd zenity zip + [[ $DebianVer != "sid" ]] && sudo apt install -y python2 sudo systemctl enable --now udev systemd-udevd usbmuxd 2>/dev/null elif [[ $ID == "fedora" || $ID == "nobara" ]] && (( VERSION_ID >= 36 )); then diff --git a/resources/device.sh b/resources/device.sh index 4bc478a..c7bbffe 100755 --- a/resources/device.sh +++ b/resources/device.sh @@ -229,7 +229,7 @@ EnterPwnDFU() { local pwnD=1 local Selection=() - if [[ $DeviceProc == 4 && $platform != "macos" ]]; then + if [[ $ProductType == "iPhone3,1" && $platform != "macos" ]]; then pwnDFUTool="$pwnedDFU" if [[ $platform == "win" ]]; then Log "iPhone 4 device detected in DFU mode." @@ -239,7 +239,7 @@ EnterPwnDFU() { read -s return fi - elif [[ $DeviceProc == 7 ]]; then + elif [[ $DeviceProc == 4 || $DeviceProc == 7 ]]; then [[ $platform == "macos" ]] && Selection+=("ipwnder_lite" "iPwnder32") Input "PwnDFU Tool Option" Echo "* This option selects what tool to use to put your device in pwnDFU mode." diff --git a/restore.sh b/restore.sh index 7616c6b..8d81374 100755 --- a/restore.sh +++ b/restore.sh @@ -86,7 +86,7 @@ Main() { fi if [[ ! $platform ]]; then - Error "Platform unknown/not supported." + Error "Platform is unknown/not supported." "Supported platforms: macOS, Linux, Windows" fi if [[ -d .git ]]; then @@ -137,17 +137,19 @@ Main() { fi fi - if [[ $platform == "macos" && $(uname -m) != "x86_64" ]]; then - Log "Apple Silicon Mac detected. Support may be limited, proceed at your own risk." - elif [[ $platform == "linux" && $(uname -m) == "a"* ]]; then - Log "Linux ARM detected. Support may be limited, proceed at your own risk." - Echo "* Note that only 32-bit (armhf) is compiled natively for now. For 64-bit, box64 might work." - if [[ $(getconf LONG_BIT) != 64 ]]; then - LinuxARM=1 + if [[ $(uname -m) != "x86_64" && $(uname -m) == "a"* ]]; then + if [[ $platform == "macos" ]]; then + Log "Apple Silicon Mac detected. Support may be limited, proceed at your own risk." + elif [[ $platform == "linux" ]]; then + Log "Linux ARM ($(uname -m)) detected. Support may be limited, proceed at your own risk." + Echo "* Note that only 32-bit (armhf) is compiled natively for now. For 64-bit, get the x86_64 version and box64 might work." + [[ $(getconf LONG_BIT) != 64 ]] && LinuxARM=1 + elif [[ $platform == "win" ]]; then + Log "WARNING - Windows ARM is not tested or supported." + Echo "* You must be using Windows 11 on ARM or newer." fi - elif [[ $(uname -m) != "x86_64" ]]; then - Error "Only 64-bit (x86_64) distributions are supported." + Error "Platform architecture ($(uname -m)) is not supported." "Supported architectures: x86_64, armhf (Linux), arm64 (macOS only for now)" fi if [[ $1 == "Install" || -z $bspatch || ! -e $ideviceinfo || ! -e $irecoverychk ||