jsharkey13 / iphone_backup_decrypt

Decrypt an encrypted iOS backup created by iTunes on Windows or MacOS
Other
247 stars 41 forks source link

Add command line script #10

Closed asbjornu closed 8 months ago

asbjornu commented 9 months ago

Thanks for making this awesome utility! It would be great if it contained a script providing a user-friendly CLI that could be made available for installation in package managers such as Homebrew. I've already started such a script to suit my own needs and would love to contribute if there's interest in it.

jsharkey13 commented 8 months ago

Sorry for taking ages to respond to this! I've been trying to keep this project as simple as possible, but I can see that a command-line interface could make it easier to use. Is there a reason that a plain Python CLI wouldn't be best? What sort of actions make sense? The code cleans up the decrypted Manifest file after itself for security, but this means that repeated small runs have a fairly large overhead compared to usage in a script.

I don't know anything about Homebrew. I have been thinking about modernising the library packaging and deploying to PyPI for a while. If I did that, could you (anyone) write Homebrew formulas to use the library directly from there?

asbjornu commented 8 months ago

Being able to use a script without having to invest in and learn the script language's development environment, is very useful. Just being able to write the following and not knowing Python is even used is very powerful and user friendly:

brew install iphone-backup-decrypt
iphone-backup-decrypt path/to/backup

The same would apply regardless of the package manager the script was made available through.

As to the deployment to PyPI, I think that would only make it easier to consume for Python developers, as Homebrew has a strict "source only" policy. The build process therefore needs to be written up as a Homebrew formula and can't just point to packages published elsewhere, afaik.

All this being said, I've now managed to fulfill my needs wrt. iPhone backup decryption and thus will have limited incentive and time to invest in this going forward, unfortunately.

PeterUpfold commented 8 months ago

Thanks for making this awesome utility! It would be great if it contained a script providing a user-friendly CLI that could be made available for installation in package managers such as Homebrew. I've already started such a script to suit my own needs and would love to contribute if there's interest in it.

I don't know if it's relevant or of interest, but I've made use of iphone_backup_decrypt in a script to export the device backup contents to a folder, organised in sub-folders, in https://github.com/PeterUpfold/dump-iphone-backup

asbjornu commented 8 months ago

@PeterUpfold, seems like you have everything required there to wrap up in a package! 👍🏼

jsharkey13 commented 8 months ago

Maybe I should just collect some links to useful additional projects in the README, for anyone who wants something more fully-featured. Looks like I don't need to build a command-line interface at least! Deploying to PyPI would at least mean installation didn't need Git, which might make it simpler for some. I shall do my homework on pyproject.toml packaging and PyPI deployment, and hopefully review and merge the subfolder PR too.

Thanks for your comments!