Add linux arm bins and other updates

This commit is contained in:
LukeZGD 2023-01-17 10:19:51 +08:00
parent f1d2f5d5a1
commit c74c380d05
13 changed files with 39 additions and 23 deletions

View File

@ -41,6 +41,14 @@ jobs:
- name: Move linux binaries and other files - name: Move linux binaries and other files
run: | run: |
rm -r ./bin/linux/x86_64 ./resources/lib/* rm -r ./bin/linux/x86_64 ./resources/lib/*
cp -R ./exclude/bin/linux/arm ./bin/linux
- name: Zip linux arm files
run: zip -r ${{ github.event.repository.name }}_linux_arm_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip bin/ LICENSE resources/ restore.sh README.md
- name: Move linux arm binaries and other files
run: |
rm -r ./bin/linux
cp -R ./exclude/bin/windows ./bin cp -R ./exclude/bin/windows ./bin
- name: Zip win files - name: Zip win files
@ -64,5 +72,6 @@ jobs:
files: | files: |
${{ github.event.repository.name }}_complete_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip ${{ github.event.repository.name }}_complete_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip
${{ github.event.repository.name }}_macos_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip ${{ github.event.repository.name }}_macos_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip
${{ github.event.repository.name }}_linux_arm_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip
${{ github.event.repository.name }}_linux_x86_64_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip ${{ github.event.repository.name }}_linux_x86_64_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip
${{ github.event.repository.name }}_windows_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip ${{ github.event.repository.name }}_windows_${{ env.DATE }}-${{ env.SHA_SHORT }}.zip

View File

@ -1,29 +1,30 @@
# iOS-OTA-Downgrader # iOS-OTA-Downgrader
- **A multi-purpose script to downgrade/restore and jailbreak supported legacy iOS devices** - **A multi-purpose script to downgrade/restore and jailbreak supported legacy iOS devices**
- **iPhone4Down: Downgrade your iPhone 4 on Linux/Windows (using powdersn0w)** - **iPhone4Down: Downgrade iPhone 4 GSM on Linux/Windows (using powdersn0w)**
- **Linux, macOS, and Windows** are supported - **Linux, macOS, and Windows** are supported
- Windows usage is not recommended - Windows usage is not recommended
- 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 - iPhone4Down focuses on Linux support only - 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 ["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** - **Read the ["Troubleshooting" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting) for tips, frequent questions, and troubleshooting**
## Other features ## Other features
- iOS 6.1.3 and 8.4.1 downgrades have the option to **jailbreak** the install - Option to **jailbreak** iOS 6.1.3 and 8.4.1 downgrades
- For iOS 10.3.3 downgrades, use [TotallyNotSpyware](https://totally-not.spyware.lol) - For iOS 10.3.3 downgrades, use [TotallyNotSpyware](https://totally-not.spyware.lol)
- This script can also restore your device to other iOS versions that you have SHSH blobs for (32-bit/A7/A8 devices, iOS 5 to 12) - Restore to other iOS versions with SHSH blobs (32-bit/A7/A8 devices, iOS 5 to 12)
- The latest baseband will always be used for 32-bit devices that have baseband. For iPhone 5C and A7 devices, iOS 10.3.3 baseband will be used - The latest baseband will be used for 32-bit devices if applicable
- This script can also be used to enter kDFU mode for 32-bit devices - Place device to pwned iBSS/kDFU mode for 32-bit devices
- This script can also be used to restore your iPhone 4 back to iOS 7.1.2 with the option to jailbreak the install - Clear NVRAM for iPhone 4 GSM (Disable/Enable Exploit)
- This script can also be used to restore supported devices to their latest versions - Restore iPhone 4 to iOS 7.1.2 with the option to jailbreak
- This script can also be used to save on-board SHSH blobs for 32-bit devices - Restore supported devices to their latest iOS version
- Save on-board SHSH blobs for 32-bit devices
## Supported devices ## Supported devices
- [Identify your device here](https://ipsw.me/device-finder) - [Identify your device here](https://ipsw.me/device-finder)
- **iPhone 5C and iPad mini 3 devices are NOT supported!** - **iPhone 5C and iPad mini 3 devices are NOT supported by OTA downgrades**
- iPhone 5C can still be restored to versions that you have SHSH blobs for - These devices still support restoring to other iOS versions with SHSH blobs
- iPhone 4 devices also support restoring with SHSH blobs - **iPhone4Down (downgrading without blobs) supports iPhone 4 GSM only (iPhone3,1)**
- **iPhone4Down supports iPhone 4 GSM only (iPhone3,1)** - All iPhone 4 models still support restoring with SHSH blobs and to iOS 7.1.2
<table> <table>
<thead> <thead>
@ -71,6 +72,9 @@
</details> </details>
## Supported OS versions/distros ## Supported OS versions/distros
#### Supported architectures: x86_64, armhf (Linux), arm64
- [**Ubuntu**](https://ubuntu.com/) 22.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**Ubuntu**](https://ubuntu.com/) 22.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/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/)
- [**Fedora**](https://getfedora.org/) 36 and newer - [**Fedora**](https://getfedora.org/) 36 and newer

BIN
bin/linux/arm/futurerestore_new Executable file

Binary file not shown.

BIN
bin/linux/arm/futurerestore_old Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/linux/arm/irecovery2 Executable file

Binary file not shown.

BIN
bin/linux/arm/ticket Executable file

Binary file not shown.

BIN
bin/linux/arm/validate Executable file

Binary file not shown.

Binary file not shown.

View File

@ -134,18 +134,17 @@ set_tool_paths() {
xmlstarlet="$(which xmlstarlet)" xmlstarlet="$(which xmlstarlet)"
zenity="$(which zenity)" zenity="$(which zenity)"
if [[ -e ../resources/sudoloop && $device_argmode != "sudoloop" ]]; then if [[ -e ../resources/sudoloop && $device_sudoloop != 1 ]]; then
local opt local opt
log "Previous run failed to detect iOS device." log "Previous run failed to detect iOS device."
print "* You may enable sudoloop mode, which will run some tools as root." print "* You may enable sudoloop mode, which will run some tools as root."
read -p "$(input 'Enable sudoloop mode? (y/N) ')" opt read -p "$(input 'Enable sudoloop mode? (y/N) ')" opt
if [[ $opt == 'Y' || $opt == 'y' ]]; then if [[ $opt == 'Y' || $opt == 'y' ]]; then
device_argmode="sudoloop" device_sudoloop=1
fi fi
rm ../resources/sudoloop
fi fi
if [[ $(uname -m) == "a"* || $device_argmode == "sudoloop" || $(id -u $USER) == 999 ]]; then if [[ $(uname -m) == "a"* || $device_sudoloop == 1 || $(id -u $USER) == 999 ]]; then
print "* Enter your user password when prompted" print "* Enter your user password when prompted"
sudo -v sudo -v
(while true; do sudo -v; sleep 60; done) & (while true; do sudo -v; sleep 60; done) &
@ -218,6 +217,7 @@ set_tool_paths() {
error "Your platform ($OSTYPE) is not supported." "* Supported platforms: Linux, macOS, Windows" error "Your platform ($OSTYPE) is not supported." "* Supported platforms: Linux, macOS, Windows"
fi fi
log "Running on platform: $platform ($platform_ver)" log "Running on platform: $platform ($platform_ver)"
rm ../resources/sudoloop 2>/dev/null
# common # common
if [[ $platform != "macos" ]]; then if [[ $platform != "macos" ]]; then
@ -604,7 +604,8 @@ device_find_mode() {
if [[ $device_in != 1 ]]; then if [[ $device_in != 1 ]]; then
if [[ $timeout != 1 ]]; then if [[ $timeout != 1 ]]; then
error "Failed to find device in $1 mode (Timed out)." touch ../resources/sudoloop
error "Failed to find device in $1 mode (Timed out). Please run the script again."
fi fi
return 1 return 1
fi fi
@ -1010,7 +1011,7 @@ download_file() {
local sha1=$($sha1sum $2 | awk '{print $1}') local sha1=$($sha1sum $2 | awk '{print $1}')
if [[ $sha1 != "$3" ]]; then if [[ $sha1 != "$3" ]]; then
error "Verifying $filename failed. The downloaded file may be corrupted or incomplete. Please run the script again" \ error "Verifying $filename failed. The downloaded file may be corrupted or incomplete. Please run the script again" \
"SHA1sum mismatch. Expected $3, got $sha1" "* SHA1sum mismatch. Expected $3, got $sha1"
fi fi
} }
@ -1390,7 +1391,7 @@ shsh_save() {
log "Successfully saved $version blobs: $shsh_path" log "Successfully saved $version blobs: $shsh_path"
else else
error "Saving $version blobs failed. Please run the script again" \ error "Saving $version blobs failed. Please run the script again" \
"It is also possible that $version for $device_type is no longer signed" "* It is also possible that $version for $device_type is no longer signed"
fi fi
} }
@ -1460,6 +1461,8 @@ ipsw_prepare_1033() {
mv $iBECb.im4p $iBECb.orig mv $iBECb.im4p $iBECb.orig
$bspatch $iBSSb.orig $iBSSb.im4p ../resources/patch/$iBSSb.patch $bspatch $iBSSb.orig $iBSSb.im4p ../resources/patch/$iBSSb.patch
$bspatch $iBECb.orig $iBECb.im4p ../resources/patch/$iBECb.patch $bspatch $iBECb.orig $iBECb.im4p ../resources/patch/$iBECb.patch
fi
if [[ $device_type == "iPad4,4" || $device_type == "iPad4,5" ]]; then
cp $iBSSb.im4p $iBECb.im4p ../saved/$device_type cp $iBSSb.im4p $iBECb.im4p ../saved/$device_type
else else
cp $iBSS.im4p $iBEC.im4p ../saved/$device_type cp $iBSS.im4p $iBEC.im4p ../saved/$device_type
@ -1692,7 +1695,7 @@ ipsw_prepare_powder() {
if [[ ! -e "$ipsw_custom.ipsw" ]]; then if [[ ! -e "$ipsw_custom.ipsw" ]]; then
error "Failed to find custom IPSW. Please run the script again" \ error "Failed to find custom IPSW. Please run the script again" \
"You may try selecting N for memory option" "* You may try selecting N for memory option"
fi fi
} }
@ -1769,7 +1772,7 @@ ipsw_prepare_cherry() {
if [[ ! -e "$ipsw_custom.ipsw" ]]; then if [[ ! -e "$ipsw_custom.ipsw" ]]; then
error "Failed to find custom IPSW. Please run the script again" \ error "Failed to find custom IPSW. Please run the script again" \
"You may try selecting N for memory option" "* You may try selecting N for memory option"
fi fi
log "iOS 4 Fix" # From ios4fix log "iOS 4 Fix" # From ios4fix
@ -2353,7 +2356,7 @@ for i in "$@"; do
"--ipsw-verbose" ) ipsw_verbose=1;; "--ipsw-verbose" ) ipsw_verbose=1;;
"--jailbreak" ) ipsw_jailbreak=1;; "--jailbreak" ) ipsw_jailbreak=1;;
"--memory" ) ipsw_memory=1;; "--memory" ) ipsw_memory=1;;
"--sudoloop" ) device_argmode="sudoloop";; "--sudoloop" ) device_sudoloop=1;;
esac esac
done done