Requires a rooted Android phone.
My target device is an iPad Air M2 on iPadOS 18.0.1
-
Download @flint atlas 's fork of go-ios
#1324369543107448842 message -
In Termux, add new sources
cat << EOF >> $PREFIX/etc/apt/sources.list.d/imobiledevice.list
deb [trusted=yes] https://xunmod.github.io/repo termux main
deb [trusted=yes] https://xunmod.github.io/repo termux root
EOF
pkg up
-
Install the following packages
pkg in libimobiledevice usbmuxd
You might need something more but I don't remember at the moment -
On android -> plug in usb to ipad -> (from notification) set usb to controlled by connected device.
Don't mount as MTP device through android's files app. If you did, unplug and re-plug usb.
Don't unplug the usb until finishing enabling jit. -
Start root terminal in termux through
tsu -
Run
usbmuxd --force-exit-> restartusbmuxdwithout aruguments (do this every time you re-plug the usb or your ipad won't be detected) -
Assume go-ios is in current directory and has execution permission, pair your ipad using
./go-ios pair
This should only be needed to be done once -
Check if ipad is detected by running
ideviceinfo -
Run
./go-ios image auto. Wait for download to complete patiently -
Either connect both ipad and android phone to the same wifi, or start a hotspot on your android phone and connect your ipad to it (can be done without internet)
-
Run
./go-ios tunnel start --userspace -
Start a new session in termux (swipe from the left side of the screen). Run
./go-ios sidejit(No root needed) -
Now find your android phone's local ip address. You can start another new session and run
ifconfigto check -
On ipad, get the shortcut from https://github.com/nythepegasus/SideJITServer. Remove empty headers
#1324369543107448842 message -
Run the shortcut and pray it works 🙂