Difference between revisions of "Cydia SHSH Server"

From The iPhone Wiki
Jump to: navigation, search
m
 
(21 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Cydia/Saurik Server is a server that was created by [[Saurik]]. It stores [[SHSH]] blobs for devices that use Cydia's "on-file" feature. For more details see [[SHSH]] and [[TinyUmbrella]].
+
[[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", you have not set up correctly.
 
  +
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 ===
  +
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 ===
== How it works ==
 
  +
To submit a new blob to Cydia server, POST the fetched ticket to:
Basically, 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.
 
  +
<nowiki>http://cydia.saurik.com/tss@home/api/store/$CPID/$BDID/$ECID</nowiki>
   
 
== See also ==
 
== See also ==
[[Cydia Application]]
+
*[[Cydia Application]]
  +
*[[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.

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:

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

See also