RyukSign is a fork of Feather, a sideloading app meant to run on stock iOS. To keep compatibility we rely on stock features. The same contribution rules apply, to maintain that integrity.
Any contributions should follow the Code of Conduct.
- No usage of any exploits of any kind.
- No contributions related to retrieving any signing certificates owned by companies.
- Modifying any hardcoded links should be discussed before changing.
- If you're planning on making a large contribution, please make an issue beforehand.
- Your contributions should be licensed appropriately.
- RyukSign / Feather: GPLv3
- AltSourceKit / NimbleKit / Zsign / IDeviceKitten: MIT
- ElleKit: BSD-3-Clause
- Typo contributions are okay, just make sure they are appropriate.
- This includes localizations.
- Code cleaning contributions are okay.
- Xcode 16.0+ (the project uses synchronized groups,
objectVersion 77) - Swift 6.0
- iOS 16.0 deployment target (note: simulator builds may need
IPHONEOS_DEPLOYMENT_TARGET=17.0due to a SWCompression minimum-target quirk)
-
Clone the repository with submodules:
git clone https://github.com/faroukbmiled/RyukSign --recursive
ZsignandIDeviceKittenare submodules —--recursiveis required.
-
Fetch the local-server SSL pack (used by the on-device install server):
cd RyukSign && make deps
-
Open with Xcode:
open RyukSign.xcworkspace
The committed Xcode project carries the maintainer's signing identity. To build on your own machine, set your own team / enable automatic signing in Xcode's target settings, or use the unsigned CLI path (make, which builds with CODE_SIGNING_ALLOWED=NO).
- Localizations live in
RyukSign/Resources/Localizable.xcstrings(a String Catalog). You need Xcode 15+ or another tool that can edit.xcstrings. - Do NOT edit the catalog by hand — use Xcode's String Catalog editor.
- Some localizations were imported from upstream Feather / its V1; if they don't make sense, feel free to correct them.
- After localizing, please have another native speaker review your work. We want high-quality, in-context translations — they will not be merged otherwise (unless you were personally asked to translate).
- Keep contributions in their own branch, not
main. - Don't be afraid of reviewers requesting changes — it keeps the project clean and tidy.
Zsign is maintained upstream at claration/Zsign-Package. Make Zsign changes there.
RyukSign tracks Feather as its upstream. Fixes that aren't RyukSign-specific are welcome upstream too.