Open-source, cross-platform, and feature rich iOS sideloading application. Supporting macOS, Linux1, and Windows2.
![]() |
|---|
| Screenshot of Impactor after importing Feather. |
- User friendly and clean UI.
- Supports Linux.
- Sign and sideload applications on iOS 9.0+ & Mac with your Apple ID.
- Installing with AppSync is supported.
- Installing with ipatool gotten ipa's is supported.
- Automatically disables updates from the App Store.
- Simple customization options for the app.
- Tweak support for advanced users, using ElleKit for injection.
- Supports injecting
.deband.dylibfiles. - Supports adding
.framework,.bundle, and.appexdirectories.
- Supports injecting
- Generates P12 for SideStore/AltStore to use, similar to how Altserver works.
- Automatically populate pairing files for apps like SideStore, Antrag, and Protokolle.
- Almost proper entitlement handling and can register app plugins.
- Able to request entitlements like
increased-memory-limit, for emulators like MelonX or UTM.
- Able to request entitlements like
Visit releases and get the latest version for your computer.
How it works is that we try to replicate what Xcode would do but in our own application, by using your Apple Account (which serves the purpose of being a "Developer") so we can request certificates, provisioning profiles, and register your device from Apple themselves.
Apple here is the provider of these and how we'll even be able to get apps on your phone. Unfortunately, without paying for their developer program you are limited to 7-days and a limited amount of apps/components you can register.
The very first thing we do when trying to sideload an app, is register your idevice to their servers, then try to create a certificate. These last 365 days, we also store the key locally so you would need to copy these keys over to other machines, if you don't, Impactor will try to make a new one.
After that, we try to register your app that you're trying to sideload, and try to provision it with proper entitlements gathered from the binary. Once we do, we have to download the neccessary files when signing, that being the certificate and provisioning profile that we just created.
Lastly, we do all of the necessary modifications we need to the app you're trying to sideload, can range between tweaks, name changing, etc. Though most importantly, we need to sign the app using apple-codesign-rs so we can install it with idevice!
That's the entire gist of how this works! Of course its very short and brief, however feel free to look how it works since its open source :D
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. |
crates/core. |
Handles all api request used for communicating with Apple developer services, along with providing auth for Apple's grandslam |
crates/gestalt |
Wrapper for libMobileGestalt.dylib, used for obtaining your Mac's UDID for Apple Silicon sideloading. |
crates/utils |
Shared code between GUI and CLI, contains signing and modification logic, and helpers. |
crates/shared |
Shared code between GUI and CLI, contains keychain functionality and shared datapaths. |
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:
# Building / testing GUI
cargo run --bin plumeimpactor
# Building / texting CLI
cargo run --bin plumesign -- <args>Extra requirements are shown below for building if you don't have these already, and trust me, it is convoluted.
# 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- Visual Studio 2022 Build Tools.
- Windows 10/11 SDK.
| Thanks to all my sponsors!! |
|---|
![]() |
| "samara is cute" - Vendicated |
- SAMSAM – The maker.
- SideStore – Grandslam auth & Omnisette.
- gms.py – Grandslam auth API references.
- Sideloader – Apple Developer API references.
- PyDunk –
v1Apple Developer API references. - idevice – Used for communication with
installd, specifically for sideloading the apps to your devices. - apple-codesign-rs – Codesign alternative, modified and extended upon to work for Impactor.
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
-
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
usbmuxdmay 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. ↩ -
On Windows, iTunes must be downloaded so Impactor is able to use the drivers for interacting with Apple devices. ↩

