Instagram tweak for jailbreak and sideload. Open Theta from the settings gear on the home feed, or by long-pressing the home tab.
Tested against Instagram 441.0.0.
- Theos with
THEOSset (for exampleexport THEOS=/opt/theos) - Theos
Xcode14.xctoolchainat$THEOS/toolchain/Xcode14.xctoolchain - The patched iPhoneOS 14.5 SDK from this repo (see below). A stock Xcode SDK will not work — Theta is built with
SDKVERSION = 14.5and needs Theos-patched private-framework stubs. - Python 3 (used by
scripts/assemble.pyduring the build) - A Mac with Xcode command-line tools
Jailbreak packages also need Cydia Substrate on the device (Depends: mobilesubstrate). Sideload builds bundle Substrate into the IPA.
After cloning or forking, unpack the SDK into your Theos sdks directory:
mkdir -p "$THEOS/sdks"
tar -xJf sdks/iPhoneOS14.5.sdk.tar.xz -C "$THEOS/sdks"That creates $THEOS/sdks/iPhoneOS14.5.sdk. Do not unpack it inside the Theta repo; Theos only looks under $THEOS/sdks.
Prefer ./build.sh from the repo root. Do not set SIDELOAD and ROOTLESS at the same time.
./build.sh # rootful .deb → packages/
./build.sh rootless # rootless .deb → packages/
./build.sh sideload # inject into input/Payload → output/Instagram_patched.ipaEquivalent Make invocations:
make package
make package ROOTLESS=1
make package SIDELOAD=1FFmpeg headers and frameworks live at layout/Library/Application Support/ffmpeg.framework. Sideload builds copy that framework into the app when it is present. Reel save still works without FFmpeg via a native AVFoundation fallback.
- Build with
./build.shor./build.sh rootless. - Copy the
.debfrompackages/to the device and install it with Sileo, Zebra, ordpkg -i.- Rootful:
packages/com.theta.tweak_1.0.1_iphoneos-arm.deb - Rootless:
packages/com.theta.tweak_1.0.1_iphoneos-arm64.deb
- Rootful:
- Respring if the package manager does not, then open Instagram.
If Theos device install is already configured (THEOS_DEVICE_IP), make install / make install ROOTLESS=1 will install and reopen Instagram.
-
Get a decrypted Instagram IPA and unpack it so the app binary is at:
input/Payload/Instagram.app/InstagramExample:
unzip Instagram.ipa -d /tmp/ig mkdir -p input cp -R /tmp/ig/Payload input/
-
Run
./build.sh sideload. That compilesTheta.dylibwithSIDELOAD=1, injects it into the Instagram binary, stagesCydiaSubstrate.framework, and writesoutput/Instagram_patched.ipa. -
Install that IPA:
- Sideloadly / AltStore / SideStore — open
output/Instagram_patched.ipaand let the tool re-sign it with your Apple ID. - TrollStore — install the IPA on-device.
- Sideloadly / AltStore / SideStore — open
-
Open Instagram. Theta settings use the same gear / home-tab long-press as jailbreak.
If Substrate cannot be found automatically, set SUBSTRATE_FRAMEWORK_PATH to a CydiaSubstrate.framework directory, or place one at third_party/CydiaSubstrate.framework.
Sideload also injects ThetaNSE into Instagram’s notification service extension so decrypted banners can work. Source/SideloadNSE/keychain-sharing.plist is optional and is not applied by the build. Skip it unless notifications break because the extension cannot read Instagram’s keychain. In that case, merge those entitlements onto Instagram.app and InstagramNotificationExtension.appex only (never onto ThetaNSE or other dylibs), and replace TEAMID with your signing Team ID. Theta already probes wildcard keychain groups at runtime, so most sideload installs do not need this plist.
| Area | Scope | Status |
|---|---|---|
| Navigation (Tab Icon Order, Swipe Between Tabs, Launch Tab, Hide Feed/Explore/Reels/Messages Tab, Messenger Mode) | Sideload only | Broken |
Jailbreak Navigation settings are unaffected. Everything else in Theta settings is expected to work on both jailbreak and sideload.
Source/
Runtime/ Hook helpers, Substrate loader, sideload shims, entrypoint
Hooks/
Behavior/ Ads, stories, confirmations, privacy, live, …
General/ Date format, external browser, liquid glass
Media/ Reel tap controls
Messages/ DM features
Save/ Media / profile / audio saves
UI/ Tabs, navigation, settings entry points
Sideload/ Keychain / app-group fakes
SideloadNSE/ Sideload notification-extension helper (`keychain-sharing.plist` is optional)
UI/ Settings, toasts, helpers, lock screen
Media/ Download UI, AV1 transcoder, DASH
ProfileAnalyzer/ Follower analytics
Include/ Public headers
scripts/assemble.py Builds TweakCOMPILE.xm (single TU for static hooks)