Changelog:
- Add support for userspace reboots (NOTE: As this is still a beta mainly intended for developers, you have to manually userspace reboot after jailbreaking)
- Fix AutoFill not working after respring
- Fix function hooking and tweak injection into processes with very hard sandboxes (e.g. WebContent)
- Fix some device / version combinations not being supported (namely iPad 8 on 15.1)
- Update bootstrap to latest
- Improve system wide hook to always respect safe mode and keep libary out of DriverKit and BlastDoor processes
- Prevent tweak injection into processes that could use fork, as hooking C functions in a process currently breaks fork from working, a proper fix for this is still pending
- Add default repos (Chariz, Havoc, Ellekit.space, BigBoss)
- Fix memory leaks in jailbreakd
- Fixes SSH as mobile
- jbupdate functionality,
/var/jb/basebin/jbctl update tipa <path/to/Fugu15.tipa>
or/var/jb/basebin/jbctl update basebin <path/to/basebin.tar>
, note that updating to a TIPA also updates basebin but depends on TrollStore being installed on the device - Update fallback ellekit for launchd hook, properly implement fallback using rpaths
- Delete more leftover Xina files on jailbreak
- Lots of stability improvmeents
Known Issues:
- For some users, Sileo crashes on launch, there is no current fix or workaround for this, a proper fix is pending by Sileo developers
- On some versions, doing anything in Zebra crashes, there is no current fix or workaround for this, a proper fix is pending by Zebra developers
- When something hooks a C function system wide, userspace reboots will get stuck, the root cause for this is unknown
- Spinlock panic, no idea what causes this, might be a late side effect by one of the exploits
- Some sort of race condition pmap panic, no idea what causes this either, but I think this is probably a bug in the environment somewhere
- Launchd crash panic, proper crash logger for debugging is still not implemented
- On 15.0 - 15.3.1, you need to fully disable wifi while jailbreaking
Notes:
- Final jailbreak will have a different name
- This jailbreak is rootless: https://theapplewiki.com/wiki/Rootless, rootful packages are not supported
- Default password for
root
:alpine
(you need to install openssh from package manager) - The only known bootloop issue is when you delete some system files in
/private/preboot
yourself, so don't do that?
For Tweak Developers:
- Update theos to latest, then you can build for rootless via
THEOS_PACKAGE_SCHEME=rootless
- Store/load preferences either via cfprefsd APIs or inside
/var/jb/var/mobile/Library/Preferences
(there will be a cfprefsd hook in the final jb to redirect all non stock stuff to that path) - You need to compile everything for rootless
- All dependencies have to be compiled for rootless and stored in
$THEOS/lib/iphone/rootless
- You need to put every former root path you access through the macros defined in rootless.h
- You need to compile with Xcode 12 or newer, otherwise your dylib will crash the process (if you don't want to loose iOS 12 / 13 arm64e support, you still need to compile your rootful packages with Xcode 11)
- There currently is a theos bug where rootless libraries cannot link against other rootless libraries
- No rocketbootstrap / IPC (yet? ever? who knows?)
Credits:
@evelyneee: Ellekit
@Cryptiiiic: Various contributions
@TheRealClarity: Various contributions
@dhinakg: Various contributions
@captinc: Various contributions
@LinusHenze: Original Fugu15 project, various contributions
@ProcursusTeam: Bootstrap
@kirb: Zebra
@elihwyma: Sileo