Skip to content

Open-source, cross-platform, and feature rich iOS sideloading application. Supporting macOS, Linux, and Windows.

License

Notifications You must be signed in to change notification settings

khcrysalis/PlumeImpactor

Repository files navigation

PlumeImpactor

GitHub Release GitHub License Sponsor Me

Open-source, cross-platform, and feature rich iOS sideloading application. Supporting macOS, Linux1, and Windows2.

Demo of app
Demo of sideloading a working LiveContainer build.

Features

  • User friendly and clean UI.
  • Supports Linux.
  • Sign and sideload applications on iOS 9.0+ & Mac with your Apple ID.
  • Simple customization options for the app.
  • Generates P12 for SideStore/AltStore to use, similar to how Altserver works.
  • Automatically populate pairing files for specific apps like SideStore, Antrag, and Protokolle.
  • Almost Proper entitlement handling and can register app plugins.

Download

Visit releases and get the latest version for your computer.

Structure

The project is seperated in multiple modules, all serve single or multiple uses depending on their importance.

Module Description
apps/plumeimpactor GUI interface for the crates shown below, backend using wxWidgets (with a rust ffi wrapper, wxDragon).
apps/plumesign Simple CLI interface for signing, using clap.
apps/udid libMobileGestalt.dylib wrapper for obtaining Macs udid.
crates/core. Handles all api request used for communicating with Apple developer services, along with providing auth for Apple's grandslam
crates/utils Shared code between GUI and CLI, contains signing and modification logic, and helpers.

Building

Building is going to be a bit convoluted for each platform, each having their own unique specifications, but the best reference for building should be looking at how GitHub actions does it.

You need:

# Applies our patches in ./patches 
cargo install patch-crate
cargo patch-crate --force && cargo fetch --locked

# Building / testing
cargo run --bin plumeimpactor

Extra requirements are shown below for building if you don't have these already, and trust me, it is convoluted.

Linux Requirements

# Ubuntu/Debian
sudo apt-get install libclang-dev pkg-config libgtk-3-dev libpng-dev libjpeg-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-dev libexpat1-dev libtiff-dev

# Fedora/RHEL
sudo dnf install clang-devel pkg-config gtk3-devel libpng-devel libjpeg-devel mesa-libGL-devel mesa-libGLU-devel libxkbcommon-devel expat-devel libtiff-devel

macOS Requirements

Windows Requirements

Sponsors

Thanks to all my sponsors!!
"samara is cute" - Vendicated

Acknowledgements

  • SAMSAM – The maker.
  • SideStore – Grandslam auth & Omnisette.
  • Sideloader – Apple Developer API references.
  • idevice – Used for communication with installd, specifically for sideloading the apps to your devices.

License

Project is licensed under the MIT license. You can see the full details of the license here. Some components may be licensed under different licenses, see their respective directories for details.

Footnotes

  1. On Linux, usbmuxd must be installed on your system. Don't worry though, it comes with most popular distributions by default already! However, due to some distributions udev rules usbmuxd may stop running after no devices are connected causing Impactor to not detect the device after plugging it in. You can mitigate this by plugging your phone first then restarting the app.

  2. On Windows, iTunes must be downloaded so Impactor is able to use the drivers for interacting with Apple devices.

About

Open-source, cross-platform, and feature rich iOS sideloading application. Supporting macOS, Linux, and Windows.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages