Feather is a free on-device iOS application manager/installer, using certificates part of the Apple Developer Program.
.ipa
's.ADP
(Apple Developer Program). however other certificates can also work![!IMPORTANT] Tweak support is in beta, make sure your tweaks work on the Ellekit hooking platform, and built with the latest version of theos.
Some tweaks, not all, should work with Feather. However, don't expect tweaks to work out of the box. As we will not change any dylib load command that isn't CydiaSubstrate.
→ Visit the Feather Wiki here!\ → Visit the roadmap here!
Sources | Store | Library | Signing |
[!Tip] Go into lightmode to see lightmode screenshots!
Feather allows you to import a .p12
and a .mobileprovision
pair to sign the application with (you will need a correct password to the p12 before importing). Zsign is used for the signing aspect, feather feeds it the certificates you have selected in its certificates tab and will sign the app on your device - after its finished it will now be added to your signed applications tab. When selected, it will take awhile as its compressing and will prompt you to install it.
What does Feather use for its server?
It uses the localhost.direct certificate and Vapor to self host an HTTPS server on your device - all itms services really needs is a valid certificate and a valid HTTPS server. Which allows iOS to accept the request and install the application.
Does Feather bundle its own certificate for the server?
Yes, to be able to install applications on device the server needs to be HTTPS. Which, we use a localhost.direct certificate for when turning on the server while attempting to install.
We have an option to download a new certificate to make this server be able to run in the far future but no guarantees. It entirely depends on the owners of localhost.direct to be able to provide a certificate for use. If it does expire and theres a new one available, hopefully we'll be there to update the files in the background so Feather is able to retrieve those.
Notifications aren't working
This is because of a default setting applied when using Feather, read below.
Why does Feather append a random string on the bundle ID?
New ADP (Apple Developer Program) memberships created after June 6, 2021, require development and ad-hoc signed apps for iOS, iPadOS, and tvOS to check with a PPQ (Provisioning Profile Query Check) service when the app is first launched. The device must be connected to the internet to verify.
PPQCheck checks for a similar bundle identifier on the App Store, if said identifier matches the app you're launching and is happened to be signed with a non-appstore certificate, your Apple ID may be flagged and even banned from using the program for any longer.
This is why we prepend the random string before each identifier, its done as a safety meassure - however you can disable it if you really want to in Feathers settings page.
[!WARNING] If you want to keep application data through reinstalls, make sure you have the same bundleid.
What is remove dylib inside of options?
There's a very specific reason its there, for those wanting to remove pre-existing injected dylibs inside but it really serves no other practical use other than that. Don't use this if you have no idea what you're doing.
What about free developer accounts?
Sadly Feather is unlikely to ever support those as there are plenty of alternatives that exist! Here's a few: Altstore, Sideloadly
git clone https://github.com/khcrysalis/feather # Clone
cd feather
make package SCHEME="'feather (Release)'" # Build
[!Tip] Use
SCHEME="'feather (Debug)'"
for debug build
Thanks to all my sponsors!! |
---|
"samara is cute" - Vendicated |
They are welcome! :)