a rewrite of pyzule that doesn't (completely) suck !!
you can open an issue to request a feature :D !!
- generate and use shareable .cyan files to configure IPAs!
- inject deb, dylib, framework, bundle, and appex files/folders
- automatically fix dependencies on CydiaSubstrate (cyan uses ElleKit!), Cephei*, and Orion
- copy any unknown file/folder types to app root
- change app name, version, bundle id, and minimum os version
- remove UISupportedDevices
- remove watch app
- change the app icon
- fakesign the output ipa/app
- thin all binaries to arm64, it can LARGELY reduce app size sometimes!
- remove all app extensions (or just encrypted ones!)
cyan supports linux, macOS, WSL, and jailbroken iOS! all either x86_64 or arm64/aarch64 !!
first, make sure you have ar and tar installed
also obviously install python, version 3.9 or greater is required
linux/WSL/macOS instructions
- install pipx
- install OR update cyan:
pipx install --force https://github.com/asdfzxcvbn/pyzule-rw/archive/main.zip
- if you want to inject dylibs ON AARCH64 LINUX:
pipx inject cyan lief
- if you want to change app icons (iOS NOT supported):
pipx inject cyan Pillow
jailbroken iOS instructions / automated environment (github workflow, etc)
- install OR update cyan:
pip install --force-reinstall https://github.com/asdfzxcvbn/pyzule-rw/archive/main.zip
note: if you installed cyan before v1.1.3 using pip
, make sure you pip uninstall cyan
, then verify you have the latest version with cyan --version
cyan comes bundled with the cgen
command, which lets you generate .cyan
files to pass to -z
/--cyan
!
- Al4ise for the original Azule
- lief-project for LIEF
- tyilo for insert_dylib (macOS/iOS)
- LeanVel for insert_dylib (linux)