Cydia SHSH Server

From The iPhone Wiki
Jump to: navigation, search

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