Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Remote file system extraction #888

@lukbukkit

Description

@lukbukkit

Is your feature request related to a problem? Please describe.

Currently ipsw doesn't seem to support partial downloads for the file system dmg of an ipsw.

$ ipsw extract -f -r -p "Carrier Bundles" "https://updates.cdn-apple.com/2025FallFCS/fullrestores/093-44949/44D2D47D-F672-41A3-8425-2C0EFACAC669/iPhone15,2_26.0.1_23A355_Restore.ipsw"
   ⨯ searching DMGs in remote IPSW is not supported

$ ipsw extract --dmg fs -r "https://updates.cdn-apple.com/2025FallFCS/fullrestores/093-44949/44D2D47D-F672-41A3-8425-2C0EFACAC669/iPhone15,2_26.0.1_23A355_Restore.ipsw"
   ⨯ unable to extract File System DMG remotely (let the author know if this is something you want)

Describe the solution you'd like

It would be awesome if ipsw could support the exclusive download of file system dmgs (similar to the kernelcache). We're extracting a certain set of files present from the file system dmg and don't require other parts of the ipsw. By only downloading the fs dmg, we can roughly save 30% of the ipsw's total size.

Describe alternatives you've considered

We can perform the partial file system dmg download with some intermediate steps

# Grab the download URL
ipsw download ipsw --device iPhone15,2 --latest -u

# Parse the remote BuildManifest.plist and get the dmg name for the file system
ipsw info -r https://updates.cdn-apple.com/2025FallFCS/fullrestores/093-44949/44D2D47D-F672-41A3-8425-2C0EFACAC669/iPhone15,2_26.0.1_23A355_Restore.ipsw

# Download the file system dmg
ipsw download ipsw --device iPhone15,2 --latest --pattern "043-93825-010.dmg.aea"

# Extract file system dmg
ipsw fw aea 23A355__iPhone15,2/23A355__iPhone15,2/043-93825-010.dmg.aea -o 23A355__iPhone15,2/23A355__iPhone15,2

# Mount the extracted dmg and extract the wanted files ...
file 23A355__iPhone15,2/23A355__iPhone15,2/043-93825-010.dmg

Search

  • I did search for other open and closed issues before opening this

Code of Conduct

  • I agree to follow this project's Code of Conduct

Additional context

Thanks for your awesome project :)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions