mirror of
https://github.com/LukeZGD/Legacy-iOS-Kit.git
synced 2024-11-23 16:39:17 +01:00
Add linux arm bins and other updates
This commit is contained in:
parent
f1d2f5d5a1
commit
c74c380d05
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@ -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
|
||||||
|
30
README.md
30
README.md
@ -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
BIN
bin/linux/arm/futurerestore_new
Executable file
Binary file not shown.
BIN
bin/linux/arm/futurerestore_old
Executable file
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
BIN
bin/linux/arm/irecovery2
Executable file
Binary file not shown.
BIN
bin/linux/arm/ticket
Executable file
BIN
bin/linux/arm/ticket
Executable file
Binary file not shown.
BIN
bin/linux/arm/validate
Executable file
BIN
bin/linux/arm/validate
Executable file
Binary file not shown.
Binary file not shown.
23
restore.sh
23
restore.sh
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user