55 lines
2.8 KiB
Org Mode
55 lines
2.8 KiB
Org Mode
#+OPTIONS: toc:nil
|
|
* iPad Jailbreaking/Downgrading
|
|
** iPad 1: just use 3utools to update/restore and jailbreak
|
|
** iPad2,3 or iPad3,2
|
|
*** We want to be on an untethered jailbreak, which seems to mean iOS 8.4.1. Some sources claim it is also noticably faster
|
|
*** steps:
|
|
1. JB with Phoenix (via https://jailbreaks.app/legacy.html or 3uTools)
|
|
2. Follow instructions here to downgrade to 8.4.1: [[http://www.3u.com/news/articles/5841/untethered-downgrade-iphone-5-ipad234-ipad-mini-to-ios841-without-shsh][Untethered Downgrade iPhone 5/iPad 2,3,4/iPad mini to iOS 8.4.1 without SHSH]]
|
|
- Use 3uTools v2.55, or it will hang! (as per https://twitter.com/3utools/status/1455107861172797449)
|
|
- specifically, 2.58 was bugged at time of testing
|
|
- can be downloaded from http://www.3u.com/update-log
|
|
- for iPad3,2: Use [[https://github.com/LukeZGD/iOS-OTA-Downgrader/][iOS-OTA-Downgrader]] to enter kDFU instead of kDFUApp
|
|
- Ideally this would work for the whole downgrade, but it was a bit buggy :(
|
|
3. install jailbreak (preferably daibutsu):
|
|
- https://github.com/LukeZGD/iOS-OTA-Downgrader/wiki/Jailbreaking
|
|
- used Sideloadly on MacOS
|
|
- daibutsu did not support iPad2,3 so EtasonJB was used
|
|
|
|
** Initial Setup
|
|
1. ansible setup:
|
|
1. install "openssh" and "apt 0.7 strict" via cydia
|
|
2. ssh with =ssh -o PubkeyAuthentication=no mobile@iPad=, password =alpine=
|
|
4. =su= to root (also password =alpine=)
|
|
3. change passwords for mobile and root users
|
|
5. =apt-get install sudo python vim=
|
|
6. edit =/etc/sudoers= to allow =wheel=
|
|
7. edit =/etc/group= to add mobile to =wheel=
|
|
2. install [[https://cydia.akemi.ai/?page/net.angelxwind.mikoto][mikoto]] to disable OTA update notifications (and some other things)
|
|
|
|
* ansible
|
|
** Python 2.7 availible from https://github.com/linusyang/python-for-ios/releases
|
|
|
|
* Fullscreen/status bar hide:
|
|
- =Maximization= (=be.rud0lf77.maximization=) seems to work fine on iPad 1/2/3 and doesn't need to be applied manually
|
|
- =Monocle= (=com.rpetrich.monocle=) works on iPad 2/3, but not iPad 1
|
|
|
|
* iPad lock/unlock via activator
|
|
#+begin_src bash
|
|
activator send libactivator.system.sleepbutton # lock
|
|
activator send libactivator.lockscreen.dismiss # unlock
|
|
#+end_src
|
|
|
|
* Editing preferences:
|
|
can use plutil from http://repo.bingner.com/ to convert from/to binary plist
|
|
to restart the preferences daemon after editing a plist:
|
|
#+begin_src bash
|
|
launchctl kickstart -k system/com.apple.cfprefsd.xpc.daemon
|
|
#+end_src
|
|
|
|
* making a webclip:
|
|
** ~/Library/WebClips/whatever.webclip
|
|
can place an Info.plist and icon then respring and it kind of just works
|
|
- Can launch with =activator send com.apple.webapp= maybe?
|
|
- only seems to work when it is already running (ie to switch to it, not launch it)
|