Impactor is an open-source, cross-platform iOS sideloading application designed to facilitate the installation of custom applications and tweaks on jailbroken devices. It supports macOS, Linux, and Windows, making it accessible to a wide range of users.
Key Features:
Cross-Platform Support: Works seamlessly on macOS, Linux, and Windows.
User-Friendly Interface: Clean and intuitive UI for easy navigation.
Integration with Sideloading Tools: Supports SideStore, LiveContainer, and other sideloading tools.
Apple ID-Based Installation: Enables users to install apps using their Apple ID without an official developer account.
Tweak Injection Support: Compatible with ElleKit for advanced tweak injection.
Automated Updates: Manages provisioning profiles and certificates efficiently.
Audience & Benefit:
Ideal for developers, hobbyists, and iOS enthusiasts who want to sideload custom applications and tweaks. Impactor provides a comprehensive solution for managing sideloading tools on Linux systems without the need for an Apple Developer account. It streamlines the process of installing apps and managing device configurations, offering flexibility and convenience for users looking to customize their iOS devices.
README
Impactor
Open-source, cross-platform, and feature rich iOS sideloading application. Supporting macOS, Linux1, and Windows2.
Able to request entitlements like increased-memory-limit, for emulators like MelonX or UTM.
Download
Visit releases and get the latest version for your computer.
This is also available on flatpak & homebrew.
Linux:
macOS:
brew install --cask impactor
How it works
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
Pairing File
Impactor also allows the user to generate a pairing file for applications to talk directly to the device remotely. This pairing file is device specific and will become invalid if you ever re-trust/update/reset.
Supported apps for pairing file:
SideStore: Uses your Apple ID to install iOS apps.
Feather: Uses raw certificates to install iOS apps.
You can retrieve this file by either sideloading the supported app of your choice, or going to the Utilities page when a device is connected and press install for the supported app. Head over to the downloads.
Translating
Impactor now has translation support, all localizations are located in locales/.toml.
To add a new language, copy en.toml to .toml so all the strings are copied appropriately, and start translating!
To properly contribute and test potentially test localizations, you can head over to the contributing guide.
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.
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
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.
Auto-refresh will not work the same as it would on other platforms like macOS/Windows, due to usbmuxd lacking WiFi connectivity so it will attempt to do it automatically only when a device is plugged in, we are looking for a proper solution though.
Some distributions (like Bazzite) may need you to run sudo update-crypto-policies so usbmuxd ends up detecting the device again. ↩
On Windows, iTunes must be downloaded so Impactor is able to use the drivers for interacting with Apple devices. ↩