Skip to content

pymobiledevice3 restore

Restore/erase IPSWs, fetch blobs, and manage devices in Recovery/DFU.

shell

create an IPython shell for interacting with iBoot

pymobiledevice3 restore shell [OPTIONS]

Options:

Option Description
--ecid <str> Target device ECID; defaults to the first connected USB device or waits for Recovery/DFU.

enter

enter Recovery mode

pymobiledevice3 restore enter [OPTIONS]

Options:

Option Description
--ecid <str> Target device ECID; defaults to the first connected USB device or waits for Recovery/DFU.

exit

exit Recovery mode

pymobiledevice3 restore exit [OPTIONS]

restart

restarts device

pymobiledevice3 restore restart [OPTIONS]

Options:

Option Description
--ecid <str> Target device ECID; defaults to the first connected USB device or waits for Recovery/DFU.

tss

query SHSH blobs

pymobiledevice3 restore tss [OPTIONS]

Options:

Option Description
--ecid <str> Target device ECID; defaults to the first connected USB device or waits for Recovery/DFU.
-i, --ipsw <str> Path or URL to an IPSW. If omitted, choose a signed build interactively.
--out <path>
--behavior <Update\|Erase> Restore behavior to use when selecting the BuildIdentity. [default: Update]

ramdisk

Boot only the update ramdisk without performing a restore (IPSW path or URL accepted).

pymobiledevice3 restore ramdisk [OPTIONS]

Options:

Option Description
--ecid <str> Target device ECID; defaults to the first connected USB device or waits for Recovery/DFU.
-i, --ipsw <str> Path or URL to an IPSW. If omitted, choose a signed build interactively.

update

Update or restore the device using an IPSW (local path or URL).

pymobiledevice3 restore update [OPTIONS]

Options:

Option Description
--ecid <str> Target device ECID; defaults to the first connected USB device or waits for Recovery/DFU.
-i, --ipsw <str> Path or URL to an IPSW. If omitted, choose a signed build interactively.
--tss <path> Path to SHSH blob plist to use for signing requests.
--erase / --no-erase Erase and restore (factory reset) instead of updating in place. [default: no-erase]
--ignore-fdr / --no-ignore-fdr Connect to the FDR service only (debug mode; no traffic proxying). [default: no-ignore-fdr]
--tss-batch Opt-in: enable the batched TSS prefetch POST (iOS 18+). Sends a single HTTP request to gs.apple.com that signs every prefetchable peripheral ticket (SE/SE2, Rose, Savage, T200, Centauri, eUICC, Baseband) at once; the reactive POSTs during restore are then served from cache. Off by default — pass this flag to reduce gs.apple.com round-trips during restore.