Skip to content

Repository files navigation

License Button Package Button Terms of Service Button Privacy Policy Button IPA Encryption Analysis

Screenshots:

Mobile Screenshots

PC Screenshots

Description:

A website that analyzes IPA files via the IPAchecker python package (original code provided by norep on the iOS Obscura discord server, credits to him)

Tech stack:

  • Frontend is hosted on Github Pages
  • Backend and File uploading is hosted on a CloudFlare Worker and on CloudFlare R2 and a Github workflow

Contact:

Contact me through email if you have any questions

How to build/set up:

Warning

You must use this tutorial branch of the repository in order for things to work, due to the cloudflare-worker.js not being updated anymore for security reasons

Prerequisites

  • Frontend: GitHub Pages
  • Backend: Requires a CloudFlare account with access to Workers and R2 storage
  • Python Script: A Github workflow that can be triggerd by the CloudFlare Worker (or Python 3.7+ installed if you want to use the script locally)

1. Frontend (GitHub Pages)

  1. Fork or clone this repo
  2. All frontend files are in the root directory (index.html, styles.css, script.js, etc)
  3. Push the changes to the main branch.
  4. In your GitHub repo, go to Settings > Pages and set the source to the main branch (root)
  5. Your site will be live at https://<yourgithubusername>.github.io/ipa-encryption-checker/

2. Backend (CloudFlare Worker + R2)

Set up R2 Bucket

  1. In the CloudFlare dashboard, create an R2 bucket (e.g ipa-files).
  2. Bind your CloudFlare R2 bucket in the CloudFlare Worker (e.g R2_IPA_FILES).

Set up KV Namespace

  1. Create a KV namespace (e.g KV_SESSIONS) for session management

Deploy the Worker

  1. Install Wrangler CLI:

    npm install -g wrangler
  2. Configure the Worker's secerts

  3. Update the Worker's code to use this code


3. Using the Script locally

  1. Ensure you have Python 3.7+ installed

  2. Install required packages:

    pip install macholib rich
  3. Run the script on an IPA:

    python ipa_analyzer.py /path/to/your/ipa.ipa

4. Development & Testing

  • Frontend: Open index.html directly in your browser for local testing (you'll have to add the local domain to ALLOWED_ORIGINS in the Worker's code)
  • Backend: Use Wrangler's dev mode to test your Worker locally:
    wrangler dev
  • Python: Test the script with the Github workflow or test it locally

5. Deployment

  • Frontend: Push to main branch, GitHub Pages will auto-deploy
  • Backend: Use wrangler publish for production deployment
  • Python: GitHub Workflow

Notes:

  • You must set up your own GitHub Personal Access Token (PAT) with repo and workflow permissions for the Worker to trigger the Workflow, you can make one by going to Token settings on Github, you also need to put it as a secert in the Worker (Do NOT share the token with anyone)
  • Change all Frontend files code to use your own Worker's URL
  • Change the Workflow's code to use your own Worker's URL

Warning

In no way am i responsible for anything that happens/might happen when you use this

Roadmap

a list of todos and upcoming feature

  • account registration with firebase
  • how to build/set up docs
  • save analysis results as a .json file
  • allow for a 90 day downloadable link for hosting the ipa and the results
  • make the user be able to see the previous analysis
  • upload the cloudflare worker's code
  • get the website to run in the first place

About

A website that analyzes IPA files via the ipachecker python library

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages