# iOS-OTA-Downgrader
- **A multi-purpose script to downgrade/restore and jailbreak supported legacy iOS devices**
- **iPhone4Down: Downgrade iPhone 4 GSM on Linux/Windows (using powdersn0w)**
- **Linux, macOS, and Windows** are supported
- Windows usage is not recommended
- 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 ["Troubleshooting" wiki page](https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Troubleshooting) for tips, frequent questions, and troubleshooting**
## Other features
- 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)
- Restore to other iOS versions with SHSH blobs (32-bit/A7/A8 devices, iOS 5 to 12)
- The latest baseband will be used for 32-bit devices if applicable
- Place device to pwned iBSS/kDFU mode for 32-bit devices
- Clear NVRAM for iPhone 4 GSM (Disable/Enable Exploit)
- Restore iPhone 4 to iOS 7.1.2 with the option to jailbreak
- Restore supported devices to their latest iOS version
- Save on-board SHSH blobs for 32-bit devices
## Supported devices
- [Identify your device here](https://ipsw.me/device-finder)
- **iPhone 5C and iPad mini 3 devices are NOT supported by OTA downgrades**
- These devices still support restoring to other iOS versions with SHSH blobs
- **iPhone4Down (downgrading without blobs) supports iPhone 4 GSM only (iPhone3,1)**
- All iPhone 4 models still support restoring with SHSH blobs and to iOS 7.1.2
Target Version |
Supported Devices |
iOS 10.3.3 |
A7 devices: |
iPhone 5S |
iPad Air 1 |
iPad mini 2 (except iPad4,6) |
iOS 8.4.1 |
32-bit devices: |
iPhone 4S |
iPhone 5 |
iPad 2, iPad 3, iPad 4 |
iPad mini 1 |
iPod touch 5 |
iOS 6.1.3 |
iPhone 4S |
iPad 2 (except iPad2,4) |
iOS 7.1.2 |
iPhone 4 (all models) |
iOS 4.3 to 6.1.3 |
iPhone 4 GSM |
For 32-bit devices jailbroken with Pangu:
- For 32-bit devices using Pangu and jailbroken method, install the latest untether for your iOS version here
## 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/)
- [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/)
- [**Fedora**](https://getfedora.org/) 36 and newer
- [**Debian**](https://www.debian.org/) 12 Bookworm and newer, Sid, and Debian-based distros
- [**openSUSE**](https://www.opensuse.org/) Tumbleweed
- [**Gentoo**](https://www.gentoo.org/) and Gentoo-based distros
- **macOS** 10.13 and newer
- **Windows** 8.1 and newer
## Tools and other stuff used
- curl
- bspatch
- [powdersn0w_pub](https://github.com/dora2-iOS/powdersn0w_pub) - dora2ios; [LukeZGD fork](https://github.com/LukeZGD/powdersn0w_pub)
- [ch3rryflower](https://web.archive.org/web/20200708040313/https://github.com/dora2-iOS/ch3rryflower) - dora2ios (old version used for iOS 4.3.x only)
- [ipwndfu](https://github.com/LukeZGD/ipwndfu) - Linus Henze, synackuk; LukeZGD fork
- [ipwnder_lite](https://github.com/dora2-iOS/ipwnder_lite/tree/7265a06d184e433989db640d5e83ea58d5862609) - dora2ios (used on macOS)
- [iPwnder32](https://github.com/dora2-iOS/iPwnder32/tree/243ea5c6d1bd15f8bdd0b3a1ff4a7729bc14bac4) - dora2ios (old version with libusb, used on Linux)
- [gaster](https://github.com/0x7ff/gaster/) - 0x7ff
- [daibutsuCFW](https://github.com/dora2-iOS/daibutsuCFW) - dora2ios; [LukeZGD fork](https://github.com/LukeZGD/daibutsuCFW)
- [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice), [libirecovery](https://github.com/libimobiledevice/libirecovery) - libimobiledevice
- [tsschecker](https://github.com/tihmstar/tsschecker) - tihmstar; [1Conan fork](https://github.com/1Conan/tsschecker)
- [futurerestore](https://github.com/tihmstar/futurerestore) - tihmstar;
- [LukeZGD fork](https://github.com/LukeZGD/futurerestore) used on Linux for restoring 32-bit devices
- [LukeeGD fork](https://github.com/LukeeGD/futurerestore) used on Linux/Windows for restoring A7/A8 devices
- [futurerestore version](https://github.com/futurerestore/futurerestore/) used on macOS
- [idevicerestore](https://github.com/libimobiledevice/idevicerestore) - libimobiledevice; [LukeZGD fork](https://github.com/LukeZGD/idevicerestore)
- [idevicererestore](https://github.com/LukeZGD/daibutsuCFW/tree/main/src/idevicererestore) from daibutsuCFW (used on custom IPSW restores for A5/A6 devices)
- [kloader](https://www.youtube.com/watch?v=fh0tB6fp0Sc)
- [kloader5 for iOS 5](https://www.pmbonneau.com/cydia/com.pmbonneau.kloader5_1.2_iphoneos-arm.deb)
- [kloader_hgsp for iOS 10](https://twitter.com/nyan_satan/status/945203180522045440) (used on h3lix only)
- [partial-zip](https://github.com/matteyeux/partial-zip)
- [zenity](https://github.com/GNOME/zenity); [macOS/Windows builds](https://github.com/ncruces/zenity)
- 32-bit bundles from [OdysseusOTA](https://www.youtube.com/watch?v=Wo7mGdMcjxw), [OdysseusOTA2](https://www.youtube.com/watch?v=fh0tB6fp0Sc), [alitek12](https://www.mediafire.com/folder/b1z64roy512wd/FirmwareBundles), [gjest](https://www.reddit.com/r/jailbreak/comments/6yrzzj/release_firmware_bundles_for_ios_841_ipad21234567/) (modified bundles for daibutsuCFW)
- A7 patches from [MatthewPierson](https://github.com/MatthewPierson/iPhone-5s-OTA-Downgrade-Patches)
- [EtasonJB](https://www.theiphonewiki.com/wiki/EtasonJB)
- [Pangu](https://www.theiphonewiki.com/wiki/Pangu)
- [p0sixspwn](https://www.theiphonewiki.com/wiki/p0sixspwn)
- [unthredeh4il](https://www.theiphonewiki.com/wiki/Unthredera1n#unthredeh4il)