FTStore icon

FTStore

[![GitHub Release](https://img.shields.io/github/v/release/FTStuff/FTStore?include_prereleases)](https://github.com/FTStuff/FTStore/releases) [![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/FTStuff/FTStore/total)](https://github.com/FTStuff/FTStore/releases) [![GitHub License](https://img.shields.io/github/license/FTStuff/FTStore?color=%23C96FAD)](https://github.com/FTStuff/FTStore/blob/main/LICENSE) **FTStore is Feather, made for everyone.** It lets you install and manage iOS/iPadOS applications contained in a single app, using certificate pairs and various installation techniques — wrapped in a friendlier experience aimed at normal users, with more features on the way. This is an entirely stock application and uses built-in features to be able to do this! > [!NOTE] > FTStore is an open-source **hard fork** of [**Feather**](https://github.com/claration/Feather) > by Samara / [claration](https://github.com/claration), licensed under **GPL-3.0**. > All credit for the original application goes to its authors. FTStore rebrands it as > `app.ftstore` / [ftstore.app](https://ftstore.app) (developer **Felitendo**) and > has since developed independently, syncing from upstream only occasionally.

FTStore

## Repository layout FTStore is a monorepo holding the two halves of the product: | Path | What it is | |------|------------| | [`ios/`](./ios) | The iOS/iPadOS app — the Swift fork of Feather. Xcode project, submodules and local Swift packages. Requires macOS + Xcode. | | [`web/`](./web) | **FTStore Admin** — the Next.js server behind `ftstore.app`. Serves the admin dashboard at `/admin`, the `ftstore.json` feed, and IPA downloads. See [web/README.md](./web/README.md). | | [`manager/`](./manager) | **FTStore Manager** — a small companion app that installs and updates FTStore on-device, pulling through the `web/` proxy so no GitHub token ever reaches the phone. | | [`scripts/`](./scripts) | Fork tooling: the scripted rebrand and the upstream sync. Both act on `ios/` only. | | `app-repo.json` | The app's AltStore source manifest, kept up to date by the release workflow. | Releases are tagged per product: `v*` for the app, `web-v*` for the server, `manager-v*` for the Manager. ### Features - User friendly, and clean UI — built for "normies". - Sign and install applications. - Supports [AltStore](https://faq.altstore.io/distribute-your-apps/make-a-source#apps) repositories. - View detailed information about apps and your certificates. - Configurable signing options mainly for modifying the app, such as appearance and allowing support for the files app. - This includes patching apps for compatibility and Liquid Glass. - Tweak support for advanced users, using [Ellekit](https://github.com/tealbathingsuit/ellekit) for injection. - Supports injecting `.deb` and `.dylib` files. - No tracking or analytics, ensuring user privacy. - Of course, open source and free. ### Planned - App update notifications for installed apps. - More approachable onboarding and UX, plus additional features over time. ## Download Visit [releases](https://github.com/FTStuff/FTStore/releases) and get the latest `FTStore.ipa`. Add AltSource Download .ipa ## How does it work? Visit the [HOW IT WORKS](./ios/HOW_IT_WORKS.md) page. ## Building ### The app (`ios/`) An Xcode/Swift project — requires macOS + Xcode. Clone with submodules: ```sh git clone --recurse-submodules https://github.com/FTStuff/FTStore.git cd FTStore/ios make # builds FTStore.ipa into ./packages ``` Open `ios/FTStore.xcworkspace` in Xcode to develop. ### The Manager (`manager/`) Same toolchain as the app: ```sh cd FTStore/manager make iphoneos # builds FTStore-Manager.ipa into ./packages ``` ### The server (`web/`) Docker, no Xcode needed: ```sh cd FTStore/web docker compose up -d ``` The dashboard is then at . Full setup, storage and backup docs live in [web/README.md](./web/README.md). ## Upstream tracking FTStore is a **hard fork** of [claration/Feather](https://github.com/claration/Feather). `ios/` is our codebase, not a tracking branch: there is no routine merge and no expectation that the trees stay aligned. Upstream is still *pinned* in [`.upstream-sync.json`](./.upstream-sync.json) so it can be diffed against when we choose to, via [`scripts/sync-upstream.sh`](./scripts/sync-upstream.sh); the rebrand stays reproducible through [`scripts/apply-rebrand.sh`](./scripts/apply-rebrand.sh). `web/` and `manager/` never came from upstream at all. See [AGENTS.md](./AGENTS.md) for the full workflow. Forking hard does not loosen GPL-3.0: every attribution to Feather stays in place, and the source stays public. ## Acknowledgements - [Samara](https://github.com/claration) - The maker of Feather, which FTStore is based on. - [idevice](https://github.com/jkcoxson/idevice) - Backend for builds with this included, used for communication with `installd`. - [*.backloop.dev](https://backloop.dev/) - localhost with public CA signed SSL certificate - [Vapor](https://github.com/vapor/vapor) - A server-side Swift HTTP web framework. - [Zsign](https://github.com/zhlynn/zsign) - Allowing to sign on-device, reimplimented to work on other platforms such as iOS. - [LiveContainer](https://github.com/LiveContainer/LiveContainer) - Fixes/some help - [Nuke](https://github.com/kean/Nuke) - Image caching. - [Asspp](https://github.com/Lakr233/Asspp) - Some code for setting up the http server. - [plistserver](https://github.com/nekohaxx/plistserver) - Hosted on https://api.palera.in. ## License This project is licensed under the GPL-3.0 license, inherited from Feather. You can see the full details of the license [here](https://github.com/FTStuff/FTStore/blob/main/LICENSE). FTStore preserves the original Feather copyright notices. By contributing to this project, you agree to license your code under the GPL-3.0 license as well (including agreeing to license exceptions), ensuring that your work, like all other contributions, remains freely accessible and open.