The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "Cydia SHSH Server"
m (→See also) |
m |
||
(16 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[saurik]] maintains servers that store [[SHSH]] blobs for devices that use Cydia's "on-file" feature. For more details see [[SHSH]] and [[TinyUmbrella]]. |
|
+ | Before Cydia 1.1, Cydia included a "Make my life easier" option that, if opted into, would automatically save all available SHSH blobs for your device. As of Cydia 1.1, Cydia assumes your life should be made easier, and it saves any available SHSH blobs for your device automatically every time you open Cydia. |
||
− | == Usage == |
||
+ | |||
− | To use the server to restore to a firmware no longer being signed by Apple (e.g. 4.0.1), you must first [[jailbreak]] and use Cydia's "Make your life easier" option. Then add the following line to /etc/hosts (Mac OS X/Linux via [[user:posixninja|posixninja's]] idevicerestore) or C:\Windows\System32\drivers\etc\hosts (Windows XP+): |
||
+ | == Usage on iOS 4.x == |
||
+ | To use this process, Cydia's servers must already have saved SHSH blobs on file for your device for the iOS version you want to restore to. |
||
+ | |||
+ | To use the Cydia server to restore to a firmware no longer being signed by Apple (e.g. 4.0.1), add the following line to [[/etc/hosts]] (Mac OS X/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows XP+): |
||
'''74.208.10.249 gs.apple.com''' |
'''74.208.10.249 gs.apple.com''' |
||
+ | Make sure you open your text editor as an administrator. On OS X, you could use sudo, as in <code>sudo nano /etc/hosts</code>; on Windows you can right click any plain-text editor program such as Notepad and choose "Run as Administrator". |
||
− | Note: On Windows, make sure you open hosts as Administrator. |
||
+ | |||
Then go along with the restore process. If the restore fails after "Verifying iPhone restore with Apple" with [[iTunes Errors#Error 3194|iTunes error 3194]] or something similar, you have not set it up correctly or saurik's server doesn't have your [[SHSH]] for that version. |
Then go along with the restore process. If the restore fails after "Verifying iPhone restore with Apple" with [[iTunes Errors#Error 3194|iTunes error 3194]] or something similar, you have not set it up correctly or saurik's server doesn't have your [[SHSH]] for that version. |
||
− | == How it works == |
+ | === How it works === |
− | + | It uses the [[wikipedia:hosts|hosts]] file to redirect the Apple firmware server to saurik's. His server has a ECID SHSH database, just like Apple's. When an older firmware request is sent to Apple, it will deny the SHSH request and error out. When it's requested at saurik's, if you've saved it, it finds the SHSH and continues with the restore. |
|
+ | |||
+ | == iOS 5 update == |
||
+ | |||
+ | This simple replay process no longer works to restore to iOS 5.x. Instead, you have to download your SHSH blobs to your computer, stitch your SHSH blobs into custom firmware, and use that to restore. See the [http://www.jailbreakqa.com/questions/32462/frequently-asked-questions#94647 JailbreakQA guide to restoring to iOS 5.x using SHSH blobs]. |
||
+ | |||
+ | == iOS 6 update == |
||
+ | |||
+ | After [[iOS]] 6.0 - 6.1.2 Cydia-saved [[SHSH]] blobs were found to be corrupted, [[Saurik]] has moved this to a [[TSS Center]]. This now saves SHSH in a different way in order to save them correctly. |
||
+ | |||
+ | == iOS 7 to 10.0.1 update == |
||
+ | |||
+ | As of {{date|2016|09}} [[TSS Center]] List API has not been updated to show blobs newer than iOS 6.1.6. However, the Submit API and retrieval features are working correctly for all 32-bit device iOS versions up to and including iOS 10.0.1. A server side update would be required for Cydia to correctly cache [[APTicket|APTickets]] for 64-bit devices. See [[Odysseus]] for information about [[Firmware downgrading|downgrading]] 32-bit devices. |
||
+ | |||
+ | == API == |
||
+ | There's an API to list and upload [[SHSH]] blobs. No official documentation exists yet, but there are some infos: |
||
+ | *[https://github.com/iH8sn0w/iFaith iFaith 1.2 on GitHub] |
||
+ | *[https://github.com/Neal/savethemblobs/blob/master/savethemblobs.py iNeal's savethemblobs script] |
||
+ | *[https://github.com/iApeiron/savethemblobs savethemblobs with List API removed, Cydia retrieval fixed] |
||
+ | |||
+ | === List API, for available blobs on Cydia === |
||
+ | To list all available blobs (up to iOS 6.1.6) on Cydia server, use this command: |
||
+ | <nowiki>http://cydia.saurik.com/tss@home/api/check/$ECID</nowiki> |
||
+ | |||
+ | === Submit API, to cache blobs on Cydia's server === |
||
+ | To submit a new blob to Cydia server, POST the fetched ticket to: |
||
+ | <nowiki>http://cydia.saurik.com/tss@home/api/store/$CPID/$BDID/$ECID</nowiki> |
||
== See also == |
== See also == |
||
− | [[Cydia Application]] |
+ | *[[Cydia Application]] |
− | [[TinyUmbrella]] |
+ | *[[TinyUmbrella]] |
+ | *[[Odysseus]] |
||
+ | *[[TSS Center]] |
Latest revision as of 13:53, 17 September 2021
saurik maintains servers that store SHSH blobs for devices that use Cydia's "on-file" feature. For more details see SHSH and TinyUmbrella.
Before Cydia 1.1, Cydia included a "Make my life easier" option that, if opted into, would automatically save all available SHSH blobs for your device. As of Cydia 1.1, Cydia assumes your life should be made easier, and it saves any available SHSH blobs for your device automatically every time you open Cydia.
Contents
Usage on iOS 4.x
To use this process, Cydia's servers must already have saved SHSH blobs on file for your device for the iOS version you want to restore to.
To use the Cydia server to restore to a firmware no longer being signed by Apple (e.g. 4.0.1), add the following line to /etc/hosts (Mac OS X/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows XP+):
74.208.10.249 gs.apple.com
Make sure you open your text editor as an administrator. On OS X, you could use sudo, as in sudo nano /etc/hosts
; on Windows you can right click any plain-text editor program such as Notepad and choose "Run as Administrator".
Then go along with the restore process. If the restore fails after "Verifying iPhone restore with Apple" with iTunes error 3194 or something similar, you have not set it up correctly or saurik's server doesn't have your SHSH for that version.
How it works
It uses the hosts file to redirect the Apple firmware server to saurik's. His server has a ECID SHSH database, just like Apple's. When an older firmware request is sent to Apple, it will deny the SHSH request and error out. When it's requested at saurik's, if you've saved it, it finds the SHSH and continues with the restore.
iOS 5 update
This simple replay process no longer works to restore to iOS 5.x. Instead, you have to download your SHSH blobs to your computer, stitch your SHSH blobs into custom firmware, and use that to restore. See the JailbreakQA guide to restoring to iOS 5.x using SHSH blobs.
iOS 6 update
After iOS 6.0 - 6.1.2 Cydia-saved SHSH blobs were found to be corrupted, Saurik has moved this to a TSS Center. This now saves SHSH in a different way in order to save them correctly.
iOS 7 to 10.0.1 update
As of September 2016 TSS Center List API has not been updated to show blobs newer than iOS 6.1.6. However, the Submit API and retrieval features are working correctly for all 32-bit device iOS versions up to and including iOS 10.0.1. A server side update would be required for Cydia to correctly cache APTickets for 64-bit devices. See Odysseus for information about downgrading 32-bit devices.
API
There's an API to list and upload SHSH blobs. No official documentation exists yet, but there are some infos:
- iFaith 1.2 on GitHub
- iNeal's savethemblobs script
- savethemblobs with List API removed, Cydia retrieval fixed
List API, for available blobs on Cydia
To list all available blobs (up to iOS 6.1.6) on Cydia server, use this command:
http://cydia.saurik.com/tss@home/api/check/$ECID
Submit API, to cache blobs on Cydia's server
To submit a new blob to Cydia server, POST the fetched ticket to:
http://cydia.saurik.com/tss@home/api/store/$CPID/$BDID/$ECID