This is a Telegram bot for downloading and decrypting iOS app files (.ipa).
To run this bot, make sure you have the following software installed:
- Node.js (version >= 19.0.0, < 20.0.0)
- Yarn package manager
- Jailbroken iPhone on iOS 16
- OpenSSH with root login access
- Frida run
frida-server -D
on the device - AppSync Unified
-
Clone this repository:
git clone https://github.com/geczy/ipa-bot.git
-
Navigate to the project directory:
cd ipa-bot
-
Install the dependencies:
yarn install
a. You'll need to install mongosh manually by visiting their page and following their instructions: https://www.mongodb.com/docs/mongodb-shell/install
-
Rename the
.env.example
file to.env
:mv .env.example .env
-
Open the
.env
file and provide the necessary values for the environment variables.
To start the bot, run the following command:
yarn start
The bot will connect to Telegram and start listening for commands.
The following commands are available for interacting with the IPA Bot:
/request <App Store URL>
: Downloads and decrypts the iOS app specified by the provided App Store URL. The decrypted app file will be uploaded to the chat./reboot
: Restarts the bot. This command is only available to administrators specified in theADMIN_IDS
environment variable./delete <App Store URL>
: Deletes the app information and files associated with the provided App Store URL from the database and file system. This command is only available to administrators specified in theADMIN_IDS
environment variable.
Please make sure to provide valid App Store URLs when using the /request
and /delete
commands.
Note: The bot can only process one app download or deletion request at a time. If there is already an ongoing request, additional requests will be added to a queue and processed in order once the previous request is completed.
You will need to install MongoSH if you haven't already. You can follow their tutorial here: https://www.mongodb.com/docs/mongodb-shell/install
There may also be some other packages that you need to manually install. In order to see a detailed error message, you can run the bash script that you see in your Terminal upon requesting an app. It should look something like this:
bash ./src/bash-decryptor/download-ipa.sh 1137397744 us 0123456789 ''
From here, you'll recieve an error message indicating what the issue is.
This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.
This project uses the following dependencies:
- ipatool - A tool for working with iOS app packages (.ipa).
- bagbak - A tool for decrypting encrypted iOS app packages (.ipa).
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please create an issue or submit a pull request.