khcrysalis / Feather
- среда, 28 августа 2024 г. в 00:00:03
Feather is a free on-device iOS application manager/installer built with UIKit for quality.
Feather is a free on-device iOS application manager/installer built with UIKit for quality.
Altstore repo support. Supporting Legacy and 2.0 repo structures
Import your own .ipa
's.
Inject tweaks when signing apps.
Install applications straight to your device seamlessly over the air.
Allows multiple certificate imports for easy switching.
Configurable signing options. (name, bundleid, version, other plist options)
Meant to be used with Apple Accounts that are apart of ADP
(Apple Developer Program). however other certificates can also work!
Easy resigning! If you have another certificate you would like to use on an app you may resign and reinstall that same app!
No tracking, analytics, or any of the sort. Your information such as udid and certificates will never leave the device.
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.
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.
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.
NOTE: IF YOU WANT TO KEEP APPLICATION DATA THROUGH REINSTALLS, MAKE SURE YOU HAVE THE SAME BUNDLEID.
git clone https://github.com/khcrysalis/feather # Clone
cd feather
make package SCHEME="'feather (Release)'" # Build
Use
SCHEME="'feather (Debug)'"
for debug build
They are welcome! :)
There was a tool called ESign (Easy Sign) that would allow you to sideload applications seamlessly on device, however it was discovered it sadly sends analytics over to some other location. There were stuff that supposedly removed the analytics but it's hard to decipher if it actually removed the problem at hand.
So I decided to make an alternative with similar features so I don't need to use that tool, along with me an others. A lot of research has been done to get this working, and originally got it working a few months ago for the first time! Of course without the help with Dhinakg in discovering you can actually use a local server to deploy an app on your device!
And now we're here! Hopefully this satisfies most people that want to sideload with their developer account or in general!