Back to Blog

Today, I am happy to share with you that ipatool has been rebuilt using Go, which allowed me to fulfill a popular feature request: Linux support. Using Go cross-platform compilation support, the tool can now run on macOS, Windows and Linux.

If you are not yet familiar with ipatool, it is a command-line tool which lets you search for apps on the iOS App Store, obtain a license for an app and download a copy of the app package (known as ipa file) using your Apple ID.


In addition to cross-platform support, this release brings many enhancements to the CLI such as structured logging/formatting, and automatic country detection. See below for the full changes list.

What's Changed

  • Added support for Windows.
  • Added support for Linux.
  • Added support for generating autocompletion script using the completion command.
  • Implemented new auth info command.
  • Implemented --verbose flag that replaces the --debug-level flag to enable verbose logging.
  • Implemented --format which allows specifying logs output format to either text or json (default: text).
  • Implemented --non-interactive flag to disable running the tool in an interactive session.
  • The relevant command (i.e. purchase) will now automatically determine the country and the device family from the authenticated account. The following flags have been deprecated.
    • --country
    • --device-family
  • Improved structured logging.
  • Improved error handling.
  • Improved support for automated systems.
  • Added unit tests to cover the majority of the private App Store API logic.

As a reminder, the tool is fully open-source and is available on GitHub. ipatool is licensed under the MIT license.