Automatically retrieve licenses for apps on the Apple App Store.
Note
This tool DOES NOT promote piracy in any way and is not intended to cause harm. Use this at your own risk!
This is a little Python project I made to automate iTunes 12.6.5.3 on Windows after I discovered there were seemingly no tools publicly available to programmaticallly obtain licenses for Apple AppStore apps.
This was my first time using Python, therefore the code is probably not the best and might have some security issues.
Important
Uninstall all other versions of iTunes, Bonjour, Apple Application Support, Apple Mobile Device Support Apple Software Update, iCloud and any other app possibly correlated.
- Install iTunes 12.6.5.3
- Enable "Apps" Section
First, click on this menu.
Then click "Edit Menu", select the sections you are interested in plus the "Apps" section and click "Done".
That done, switch to the "Apps" section before proceeding.
- Logging In
Once on the "Apps" section, click on the "Account" menu on the top and select "Sign In...".
On the popup that appears, login with your Apple ID.
Once Logged In, go back on the "Account" menu to the top and select "Authorizations" and "Authorize this computer...".
When prompted to Sign In again, do so.
Once that is done, a PopUp confirming the computer has been authorized succesfully will appear.
- Tweaking Settings
Now, head to the "Edit" menu to the top and select "Preferences...".
There, go to the "Store" tab and switch "Purchases:" and "Free Downloads:" to "Never Require".
When clicking on "Ok" to confirm your choices, it might prompt you to re-enter your login and/or confirm your 2FA.
- Install the automation
Now, get a copy of the repo by either using git or downloading a copy of the repository.
git clone https://github.com/Repressoh/purchased
Once that is done, you need to get a postgresql database to store the "jobs" and other stuff. I can't provide a specific guide for this, but any postgresql host should be fine.
When you have the database, open the "main.py" file and replace the "< your-database-url >" with your database connection string.
db_pool = pool.SimpleConnectionPool(1, 20, "postgresql://[user[:password]@][netloc][:port][/dbname]")
That's it! Now you are free to run the script and start making requests.
To contribute, please create a Pull Request.
If you face any issues or weird errors, feel free to open an issue.
For any legal concerns, feel free to reach out to me at [email protected].