Field guide
The short version. Find your device, follow the steps, stop when it works. Everything here was checked against live servers and my own hardware.
Start here: which device is this for?
Pick one and you get its own route. The steps below are the same for every device.
Showing .
For most devices Apple no longer signs iOS 6. If the device lands in recovery mode and you restore it with Finder or iTunes, you get the newest signed firmware and iOS 6 is gone permanently — iPad 4 → 10.3.3, iPod touch 5 → 9.3.5, iPhone 5 → 10.3.4. Stuck in recovery, do not open Finder: Legacy iOS Kit → Main Menu → Exit Recovery Mode (§2.18). Get the kit before you need it, from https://github.com/LukeZGD/Legacy-iOS-Kit/releases/latest (§2.5).
Exceptions, restorable today: iPod4,1/iPhone2,1 (signed 6.1.6 IPSW) and iPad2,1/2,2/2,3/iPhone4,1 (signed 6.1.3 OTA). Apple has made no commitment to keep signing these, so re-check before you commit (§10) — and if you own one of the four 6.1.3 models, mint permanent blobs today: Legacy iOS Kit → Save SHSH Blobs → iOS 6.1.3.
Everything else is one-way: never tap Erase All Content and Settings on a jailbroken iOS 6 device. It routinely boot-loops, and the fix is that restore. If the device is already on iOS 6, harvest it before you erase anything — Save SHSH Blobs → Onboard Blobs, then Misc Utilities → Activation Records (§2.4).
Settings → General → About → Model, then look that number up at https://ipsw.me/device-finder. Not the back case: iPad2,1 and iPad2,4 are both A1395, and only iPad2,1 has a signed iOS 6. Dead device: Legacy iOS Kit reads the identifier over USB in DFU. Full detail: §2.1
iPhone5,3/5,4) — no iOS 6 firmware exists. Stop here.iPad1,1), iPod touch 3 (iPod3,1) — no official iOS 6. Legacy iOS Kit → Restore/Downgrade → iOS 6, unofficial and untethered (§2.11c).iPad2,4, iPad mini 1, iPad 3, iPad 4, iPhone5,1/5,2, iPod5,1 — §2.11b ranks every option for your exact model.aquila-app with the kit's Sideload IPA (§2.16).The dual-boot route in §2.11a is the exception: after you have jailbroken the host it needs no computer at any point.
Install Legacy iOS Kit from https://github.com/LukeZGD/Legacy-iOS-Kit/releases/latest; every restore runs through it. macOS and Linux only — on Windows, boot an Ubuntu live USB to restore, then return to Windows to jailbreak.
Already on iOS 6? Do not erase it. Back it up, then Legacy iOS Kit → Save SHSH Blobs → Onboard Blobs and Misc Utilities → Activation Records, in Normal mode while it is still activated. If it is already jailbroken, go straight to section 3; if it is not, do Jailbreak below first.
| Your device | What to do |
|---|---|
iPod touch 4 (iPod4,1), iPhone 3GS (iPhone2,1) | Restore/Downgrade → Latest iOS. 6.1.6 is signed. |
iPhone 4 (iPhone3,1/3,2/3,3) | powdersn0w (any iOS), then Useful Utilities → Clear NVRAM or it will not boot. |
iPhone 4S (iPhone4,1), iPad 2 (iPad2,1/2,2/2,3) | Restore/Downgrade → iOS 6.1.3; the kit fetches blobs. Wipes the device. Save 6.1.3 blobs today: Save SHSH Blobs → iOS 6.1.3. |
iPad 2 Rev A (iPad2,4), iPad 3, iPad 4, iPad mini 1, iPhone 5, iPod touch 5 | No iOS 6 is signed. Go to No signed iOS 6 below. |
iPad 1 (iPad1,1), iPod touch 3 (iPod3,1) | Restore/Downgrade → iOS 6 (unofficial, untethered). Microphones do not work. |
iPhone 5c (iPhone5,3/5,4) | Cannot run iOS 6. Stop. |
1. Hunt for blobs. Legacy iOS Kit → Save SHSH Blobs → Cydia Blobs queries by ECID. Search old drives for *.shsh and *.shsh2. Then TSS Saver's public archive: ECID in hex, zero-padded to sixteen digits, split into eight two-character segments — https://r2.tsssaver.1conan.com/shsh/AA/BB/CC/DD/EE/FF/GG/HH.tar.zst. 404 = none saved; 200 = you have them, zstd -d -D tsssaver.zstd.dict <file>.tar.zst. 6.x blobs → Other (Use SHSH Blobs); 7.x blobs → Other (powdersn0w 7.x blobs), where iPad2,4 and iPad 3 need 7.1.x, not 7.0.x. Neither → dual-boot.
2. Dual-boot with CoolBooter — stock 6.1.3 on a second partition, no blobs, no restore. Three hard gates: the OS running now must already be jailbroken with task_for_pid patched (the second OS is loaded by that kernel, and CoolBooter refuses otherwise); it must be iOS 7 or later (MinimumOSVersion 7.0); and the device needs internet for the ~1 GB IPSW it pulls from Apple, plus 4–5 GB free. Host jailbreaks: EverPwnage for 7.0–9.3.6, or Carbon (open http://carbon.sep.lol in Safari, no computer at all) for 8.0–9.3.4; h3lix or socket for 10.0.1–10.3.4 — neither survives a reboot, so you re-run it after every one. Prefer h3lix of those two: under socket, CoolBooter gets stuck at "Extracting firmware" until you re-sign the app with ldid adding the entitlement com.apple.private.security.no-container.
Data loss. CoolBooter-partitioner rewrites the internal NAND's GPT and live-shrinks your main data partition; a failure or power loss mid-write can damage it. In the project's own words, do not use a device you would mind needing to factory reset. Uninstalling carries the same risk and loses every file on the other iOS install.
Activation of the second OS is unverified. There is a 2024 case of an iPhone 5 that dual-booted and then could not be activated, and hacktivation does not cover the iPhone 5, iPad 3, iPad 4, iPad mini 1 or iPod touch 5 at all.
https://coolbooter.com/ as a Cydia source — HTTPS; plain http:// redirects./Library/MobileSubstrate/DynamicLibraries/cbuntether.dylib and its .plist.Full detail: §2.11a
Main Menu → Attempt Activation, and retry on failure. iPhone 4 and older need a valid SIM inserted: insert one, or use Hacktivate, which also covers any device whose IMEI begins 9900.
aquila. Windows: run aquila.exe and install Apple's iTunes for the USB driver — the desktop installer, not the Microsoft Store build.aquila-app from https://github.com/LukeZGD/aquila-app/releases with the kit's Sideload IPA — needs an Apple ID entered on the computer, and the device activated with internet.aquila-app-v1.2.2-p0sixspwn.ipa from that same aquila-app releases page instead. iOS 6.1.3–6.1.6 only.Ignore evasi0n — that domain is a gambling site now.
One profile install fixes certificate trust for Safari, Cydia and apps — all three share one trust evaluation. No jailbreak needed, and it is removable.
On the device:
http://tlsroot.litten.ca/beeg.mobileconfig — plain http://, no redirect. The device cannot open the https:// version yet, which is the whole point.securityd re-reads the trust store, so force-quitting Safari and Cydia is enough.That is the fix. Safari, Cydia and your apps should now open https:// sites that failed a minute ago.
To undo it: Settings → General → Profiles → Remove. Full detail: §3.5.
You just added 32 root certificate authorities over unauthenticated HTTP, which is the attack a root store exists to prevent. If you have a computer to hand, confirm the bytes:
curl -O https://tlsroot.litten.ca/beeg.mobileconfig
shasum -a 256 beeg.mobileconfig
Expect 1fdbbe4b4571ede657ce4a792434fbef94c052c043e4ef992e905d8a68ced281. Anything else: remove the profile by the path above.
iOS 6.0 through 6.1.5 carries CVE-2014-1266, "goto fail," where certificate signature verification can be skipped entirely. Apple fixed it in 6.1.6, which shipped only for the iPhone 3GS and iPod touch 4. In Cydia, search SSLPatch and install com.rpetrich.sslpatch from BigBoss, already a default source. It is a Substrate tweak, so there is no stock-device route to it — come back after §4.
You want both: the profile so valid chains are trusted, SSLPatch so invalid chains are actually rejected. Full detail: §3.9.
iOS 6 offers no AEAD ciphers, so hardened servers refuse the handshake (-9824). No trust store or profile change fixes this — the ciphers are not implemented in the device's TLS code. Use a different site. If it is a site you run yourself, terminate its TLS on an nginx or Caddy reverse proxy and serve plain http:// to the device. Full detail: §3.11.
Cydia hides both behind the same button. Sources tab → Edit (top right) → Add (top left) → type the URL → Add Source, then let it refresh. To remove one: Sources → Edit → tap the red minus beside the source → Delete. Cydia installs the newest version of a package by default; where a version is pinned below, open the package, tap the version row, and pick the one named.
Edit sources through that UI, not by hand: /etc/apt/sources.list.d/saurik.list is marked "DO NOT EDIT," and the real list lives at /var/mobile/Library/Caches/com.saurik.Cydia/sources.list. Type http:// unless you know a repo requires TLS. Full detail: §4.7
Stock Cydia ships four:
| Stock source | State |
|---|---|
apt.saurik.com/ios/793.00 | Keep — live. 793.00 is iOS 6.1's CoreFoundation version. It is correct; do not edit it |
apt.thebigboss.org/repofiles/cydia | Keep — live, still updated |
modmyi.saurik.com and zodttd.saurik.com/repo/cydia | Frozen archives, last modified 17 November 2017 — 26,235 and 18,002 packages that will never change |
If your jailbreak also shipped apt.modmyi.com (no DNS — a red error on every refresh) or cydia.zodttd.com (redirects), remove both. Only saurik's mirrors above still work. Full detail: §4.2
| Source | For |
|---|---|
http://apt.thebigboss.org/repofiles/cydia/ | General repo, still updating |
http://lukezgd.github.io/repo/ | AppSync Unified, appinst. HTTPS-forced — install section 3's certificate profile first or it will not add |
http://cydia.skyglow.es/ | TLSFix, MapsX, iTunesStoreX, AssistantX. Packages.bz2 only |
http://cydia.nekokawa.net/ | StoreSSLFix, Re5tore, iFile5Fix |
http://cydia.invoxiplaygames.uk/ | Checkmate Store, TubeFixer, GSignInFix |
Cydia does not verify third-party repo signatures, and postinst scripts run as root — plain-HTTP sources mean unsigned code over an unauthenticated channel from strangers. Full detail: §4.4, §4.5
mobilesubstrate, apt.saurik.com) — must be ≥ 0.9.5100 or AppSync will not install.openssh 6.7p1-13, apt.saurik.com). The default password is alpine, it is live from the moment the package installs, and everybody knows it: change the root and mobile passwords immediately. Find the device's address in Settings → Wi-Fi → the blue arrow beside your network, then from a computer ssh root@<that address>, password alpine, and run passwd, then passwd mobile, and do not do the first install on untrusted Wi-Fi. Then log in once and confirm it works — before you install any tweak. If your computer's ssh refuses the connection, that is OpenSSH 10.x rejecting SHA-1 host keys and KEX by default, not a broken device: use the ~/.ssh/config block in §3.6, with your device's address on its HostName line. That login is the recovery path — if a Substrate tweak drops the device into safe mode or a boot loop, you SSH in and delete the offending .dylib from /Library/MobileSubstrate/DynamicLibraries/.ai.akemi.appsyncunified 116.2, LukeZGD's repo). Take 116.2; 116.1 is arm64 and needs firmware ≥ 15.0, and every iOS 6 device is armv7. Add Skyglow too and Cydia shows two entries both titled "AppSync Unified" — its copy is the old net.angelxwind.appsyncunified at 84.0. Take the 116.2 one. If the repo will not add, §4.4 has the desktop curl/scp/dpkg fallback.preferenceloader 2.2.6, BigBoss) — required before most tweaks show a Settings pane.eu.heinelt.ifile 2.2.0-1, with no firmware floor. Not Filza — com.tigisoftware.filza 4.0.1-3 declares Depends: firmware (>= 7.0) and simply will not appear for you.com.slugrail.ipainstaller 3.23, BigBoss), pulls in com.autopear.installipa 3.4.1-1 for /usr/bin/installipa.Full detail: §4.6
Install AppSync Unified first (4.6, step 3). Nothing in this section works without it.
Sign-in is plausibly restorable; downloads are not. Get apps from Veteris or an IPA instead.
Every known repair ships as a Cydia tweak, so jailbreak first. The three that exist:
com.podpod123.gsaport — repo http://repo.podpod123.com/. Ports modern GrandSlam sign-in; Messages authenticating with it is the verified part. The repo returns 403 to anything that does not look like Cydia — that is not an outage. Steps in 6.2a.net.nekokawa.appstorefix — repo http://cydia.nekokawa.net/. iOS 6.0–6.1.6 only.com.aoi.storefix — repo http://aoiblog.jp/. It rewrites /etc/hosts to route your Apple ID traffic through a stranger's machine; read 6.3 before adding this repo. The edits persist after you uninstall the package and there is no undo — back /etc/hosts up first. Its control file declares Conflicts: com.aoi.storefix — on itself. That is malformed and can wedge dpkg.Success is the sign-in sheet accepting your Apple ID; a download that still fails is expected, not a broken install.
"Download the IPA" means a computer, unless the page serves an itms-services manifest that installs straight from Safari — the one this guide uses is the TubeReplacer author's host, https://cydia.preloading.dev/ipas/youtube/, which warns on the page itself that it "might not work on some iOS versions." Otherwise:
.ipa on a computer.scp app.ipa ios6:/var/mobile/Media/Downloads/ssh ios6 'chown mobile:mobile /var/mobile/Media/Downloads/app.ipa' — files landed as root are root:wheel and iFile refuses to open them; that is the "file is corrupt" false alarm.ssh ios6 'installipa /var/mobile/Media/Downloads/app.ipa', or open the file in iFile.Over USB: brew install libimobiledevice ideviceinstaller, then ideviceinstaller for IPAs. Full detail: 6.9.
Add http://repo.victorlobe.me/ in Cydia; install com.victorlobe.veteris 3.2 and com.victorlobe.veterishelper 1.1. It installs classic iOS apps on-device — no computer, no cable. Its IPA sources are undisclosed: same copyright territory as the archives, and you trust a third party's binaries.
| Identifier | Notes |
|---|---|
iOSObscura | 17,668 files; IPAList.txt index — most usable |
legacyiosapparchive | Filenames record oldest iOS supported |
Ipa-mini-archive | iOS 3.1.3 – 6.1.6 only |
ios6games | Uploader tested on a jailbroken iPhone 4S, 6.1.3 |
Check free space first: one game IPA can be several hundred megabytes, and a Cydia install that fails halfway for want of space can wedge dpkg.
These archives redistribute commercial software — infringement in most jurisdictions even if you once bought the app. Stay with always-free apps, developer-released apps, abandonware, and your own builds. Scan what you download; an unsigned IPA has the same access as any other app.
GSAPort, by u/EricRen1, ports Apple's modern GrandSlam authentication back to iOS 5–8. Messages works on it — I run it on my own iPad. Install it for that, and treat FaceTime, iCloud and Game Center as worth trying afterwards rather than promised.
Do the jailbreak (§2) and install the certificate profile (§3.5) first; without a current trust store GSAPort cannot reach Apple over HTTPS.
http://repo.podpod123.com/. A 403 is not an outage — this repo returns 403 to anything that does not send Cydia's user agent.com.podpod123.gsaport). It declares firmware >= 6.0, << 9.0.Full detail: §6.2a
That is a separate trade and it must be a conscious one: AppStoreFix (com.aoi.storefix, http://aoiblog.jp/) rewrites /etc/hosts to route your Apple ID traffic through a stranger's server, and the redirect can only work because certificate validation is being suppressed inside the store processes. Those /etc/hosts edits survive uninstalling the package and there is no undo — back the file up first. Take that route only with a throwaway Apple ID that has no payment method.
Full detail: §6.3
Safari cannot play YouTube. TubeReplacer replaces the backend of Google's App Store YouTube app. Prerequisites: section 3's certificate profile, and AppSync Unified (ai.akemi.appsyncunified 116.2, http://lukezgd.github.io/repo/) from section 4.
https://cydia.preloading.dev/ipas/youtube/ → tap 1.3.0 or 1.4.0. These are itms-services install manifests: tapping one installs the app in place. Skip 1.0.0 and 1.0.1; no iPad or iPhone 5 support. If the page fails on your version, fetch the IPA on a computer from there or https://iosapps.litten.ca/getAppVersions/com.google.ios.youtube, scp youtube.ipa ios6:/tmp/, then run installipa /tmp/youtube.ipa on the device or tap it in iFile — both from section 4. An unsigned IPA from a stranger runs with the same access as anything else on the device.http://cydia.preloading.dev/ in Cydia, install TubeReplacer (dev.preloading.tubereplacer). Uninstall TubeRepair and ProTube first. dpkg blocks TubeRepair but not ProTube, and with ProTube present, liking a video crashes the app.When it breaks, check the Cydia repo, not GitHub — GitHub is a partial mirror. Full detail: §5.2–5.4
On a computer, with yt-dlp 2026.08.19 or newer — confirm with yt-dlp --version; if pip hands you a 2025 build, your Python is older than 3.10, so take the standalone binary from https://github.com/yt-dlp/yt-dlp/releases/latest instead. You also need ffmpeg on PATH for the merge. Always guard fps<=30, or you get a profile level above your device's ceiling and the file silently refuses to play:
yt-dlp -f "bv*[vcodec^=avc1][height<=1080][fps<=30]+ba[acodec^=mp4a]/b[vcodec^=avc1][fps<=30]" \
--merge-output-format mp4 -o "%(title)s.%(ext)s" URL
Use height<=720 for iPhone 4 and iPod touch 4/5.
Serve it with pip install rangehttpserver && python3 -m RangeHTTPServer 8080, then open http://<your-ip>:8080/ in Safari and tap the .mp4. Never python3 -m http.server: no byte ranges, so the video will not start or cannot be scrubbed. Full detail: §5.5–5.10
Install section 3's SSL certs first, then com.skyglow.mapsx 5.0.0 and com.skyglow.weatherx 3.6 from http://cydia.skyglow.es/. MapsX's changelog says reboot after install: reboot only if your jailbreak is untethered. If it is tethered, or you are not sure, do not reboot — a reboot on a tethered jailbreak leaves the device un-jailbroken and possibly unable to boot without a computer.
Both point at a server you run yourself. Skip unless you want that project.
Push: com.skyglow.snd 3.0.1 from http://cydia.skyglow.es/. Install, open its preference panel → Profiles → add a profile, acquire the server certificate, Register, toggle Enabled. Apps appear in its per-app list only after they try to register post-install.
Siri: com.aditya.ios6siriremastered 1.4 from http://repo.theadipost.com/ — Docker plus Ollama on a machine that stays on; setup guide at http://repo.theadipost.com/setup/ios6-siri-remastered.html. Or com.skyglow.assistantx 1.2 (offline, Vosk), also a server you run. They conflict; pick one. iPhone 4, iPad 2 and iPod touch 4 and 5 shipped without Siri and need the assistant capability enabled first — normally the gsc.assistant and gsc.dictation capability packages. Without them no Siri tweak has anything to hook. Full detail: §6.7.
Never copy audio into /var/mobile/Media/iTunes_Control/Music/ — it may appear and will not play. Use afcclient over USB (brew install libimobiledevice ideviceinstaller), scp over SSH, or Lyrebird's "Download to Music". Files landed by scp root@… are root:wheel, and iFile and the media stack refuse them — the classic false "corrupt file". Fix ownership after every copy:
scp track.m4a ios6:/var/mobile/Media/Downloads/
ssh ios6 'chown mobile:mobile /var/mobile/Media/Downloads/track.m4a'
Apple's iTunes 12.6.5.3 download links are dead. Full detail: §6.9.
Settings → General → VPN, IPsec or L2TP/IPsec, to a strongSwan server. Never PPTP — its MS-CHAPv2 authentication has been considered broken since 2012. WireGuard cannot work: there is no NetworkExtension.framework on the device at all.
The old client cannot pass a modern Plex login. Make the server trust the device.
192.168.1.0/24), to the list allowed without authentication.http on the LAN.Anything on those addresses reads your library uncredentialed. Narrow to the one device. Full detail: §6.11.
If the screen is lifting at an edge or the back is bowed, stop using the device and do not charge it unattended. A swelling cell pushes the display out of the chassis; in an iPad it can crack the glass from inside.
A device left flat in a drawer for a year can drop below the voltage at which its protection circuit will allow a charge, and it never wakes up. Before it goes in the drawer, charge to roughly half, and top it up once or twice a year.
Short runtime, sudden shutdowns at 20–40% under load, and refusal to boot unless plugged in are the symptoms of a spent cell. Decide by model before ordering parts:
https://www.ifixit.com/Guide/iPhone+4S+Battery+Replacement/7111 — iPhone 5: https://www.ifixit.com/Guide/How+to+replace+your+iPhone+5+battery/10587https://www.ifixit.com/Guide/iPad+4+Wi-Fi+Battery+Replacement/18203 — iPad 4 GSM: https://www.ifixit.com/Guide/iPad+4+GSM+Battery+Replacement/28507 — iPod touch 5: https://www.ifixit.com/Guide/iPod+Touch+5th+Generation+Battery+Replacement/104363Read the whole guide before ordering anything, and skip the suspiciously cheap cells: aftermarket cells for hardware this old vary wildly in quality.
Pocket lint in the 30-pin or early Lightning port reads as a charging fault — clear it with a wooden toothpick before concluding anything is broken. And storage fills silently: check free space before big installs, so a Cydia upgrade never fails halfway for want of it.
Full detail: §7.1–7.2
Most things that look like a brick are a fifteen-second button hold. Do not restore in Finder or iTunes to escape one. That installs the newest signed firmware and iOS 6 is gone permanently — iPad 4 to 10.3.3, iPod touch 5 to 9.3.5, iPhone 5 to 10.3.4, no way back without SHSH blobs. Only the models Apple still signs iOS 6 for can be walked back: iPod touch 4 (iPod4,1) and iPhone 3GS (iPhone2,1), which have the full 6.1.6 IPSW, and iPad 2 (iPad2,1 / 2,2 / 2,3) and iPhone 4S (iPhone4,1), which have the 6.1.3 OTA. iPad2,4 is not one of them. Everything else is a one-way trip.
Tell the two states apart: DFU is a completely black screen. A "Connect to iTunes" graphic means recovery, not DFU.
su (password alpine), then nvram -c, then sync.sudo killall usbmuxd usbmuxd2 first..dylib from /Library/MobileSubstrate/DynamicLibraries/. This is your only non-destructive recovery path, and it works only if you got SSH running and tested a login before installing your first tweak.Check the clock first: Settings → General → Date & Time. A shelved device with a flat battery often boots with a bogus date, producing expiry errors the certificate fix will not touch.
iOS 6 surfaces these failures as bare negative numbers. If you do not have one, the probe below prints it.
| Symptom | What it means | What to do |
|---|---|---|
-9814 | Cert or root expired | Check the clock, then treat it as a cert problem |
-9807, -9812, -9813 | Chain doesn't validate, root not trusted, no root found | Cert problem — fixable. Install the root bundle (§3.5). A few sites still return -9807 after; the bundle is not a complete root set |
-9824 | Server sent handshake_failure — cipher problem | Not fixable on-device. Put a proxy in front (§3.11) |
| A silent hang or timeout | Not every cipher failure sends an alert — some servers accept the connection and then close — so this can be a cipher problem and not a network fault | Run the probe on the device; the device is the authority |
-9843 | Wrong hostname on cert — server's fault | For a repo, use http:// |
To test any host over SSH:
(printf '601 Configuration\n\n600 URI Acquire\nURI: https://example.com/\nFilename: /tmp/p.out\n\n'; sleep 8) \
| /usr/lib/apt/methods/http
Then delete /tmp/p.out.
Full detail: §3.3–3.4
Want the reasoning?
This page is the short version: what to do, in order. The long version carries every route, every failure mode, the catalogue of apps and tweaks, and the measurements behind each fix here.