NyaMisty / ipatool-py

IPATool-py: download ipa easily
https://drafts.misty.moe/ipatool-py-5848aa887aff4bc49fad6dc495a6578f
516 stars 130 forks source link

IPATool-py

Python version of IPATool!

Now Supports:

Installation

pip3 install -r requirements.txt

Usage

There're three commands: lookup, historyver, download. Each command's usage can be found by -h option.

You can also chain multiple command, last command's output will be passed to next command (so you don't need to supply some arguments like appVerId)

Download Newest Version

Download an app using bundleID (-o can be omited)

python3 main.py lookup -b com.touchingapp.potatsolite -c JP download -e APPLE_EMAIL -p APPLE_PWD -o DIR

Or appID (XXXXX in the apps.apple.com/app/xxxx/idXXXXXX)

python3 main.py download -i XXXXX

You can also purchase apps when downloading using --purchase:

python3 main.py lookup -b com.touchingapp.potatsolite -c JP download --purchase -e APPLE_EMAIL -p APPLE_PWD -o DIR

Download OLD Version

Old versions must be downloaded together with iTunes Server. You can get iTunes Server in several ways:

After setting up the server, you can run this tool to download a specific version

python3 main.py lookup -b com.touchingapp.potatsolite -c JP download -s http://127.0.0.1:9000 --appVerId 833889087

NOTE: Some users are reporting that you need to authorize computer and make first purchase in iTunes with marked "do not ask for password" before using the iTunes server. (See #26)

Get History Ver (usually used together with JSON)

Get all appVerId of app from Apple

python3 main.py lookup -b com.touchingapp.potatsolite -c JP historyver -e APPLE_EMAIL -p APPLE_PWD

Lookup (usually used together with JSON)

Query app basic information:

Query appVerId:

python3 main.py lookup -b com.touchingapp.potatsolite -c JP --get-verid

Headless Usage

For each command you can use --json switch to get result of command in JSON

python3 main.py --json lookup -b com.touchingapp.potatsolite -c JP --get-verid
python3 main.py --json lookup -b com.touchingapp.potatsolite -c JP historyver -e APPLE_EMAIL -p APPLE_PWD

For Large Scale Scraping

You can download all versions of an app like this:

python3 main.py --json download --itunes-server http://XXX.XXX.XXX.XXX:9000 --appId 414478124 --purchase --downloadAllVersion

Development

Credit