Files
FTStore/README.md
T
Felitendo 3811e1e9be docs: make ftstore a hard fork of feather
the code is ours now. ios/ is no longer framed as a tracking branch:
there is no routine merge, no expectation that our tree resembles
upstream's, and no reason to shape a change around a future merge.

upstream stays pinned. .upstream-sync.json keeps recording the last
commit folded in, so an on-request sync has somewhere to diff from —
it gains mode: "hard-fork" to say what it is and is not. syncs happen
when asked, and cherry-picking the wanted commits is now the default
advice over a wholesale merge, since the trees have diverged by design.

sync-upstream.sh no longer reports being "behind upstream" as though it
were a defect, and apply-rebrand.sh is documented as what it now is: a
no-op on a normal day, load-bearing right after a sync.

the FEATHER_* xcconfig variables stay upstream-equal. renaming them is a
defensible hard-fork cleanup, but they are referenced from both pbxproj
files and both dev-repo workflows, and nothing here can verify a build —
noted as an ask-first change instead.

this changes the workflow, not the licence. every gpl-3.0 attribution to
feather stays: the credits in AboutView, the app-repo news entry, the
readme acknowledgements, the copyright headers.
2026-08-03 13:25:09 +02:00

6.8 KiB

FTStore icon

FTStore

GitHub Release GitHub Downloads (all assets, all releases) GitHub 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 by Samara / claration, licensed under GPL-3.0. All credit for the original application goes to its authors. FTStore rebrands it as app.ftstore / 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/ The iOS/iPadOS app — the Swift fork of Feather. Xcode project, submodules and local Swift packages. Requires macOS + Xcode.
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.
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/ 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 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 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 and get the latest FTStore.ipa.

Add AltSource Download .ipa

How does it work?

Visit the HOW IT WORKS page.

Building

The app (ios/)

An Xcode/Swift project — requires macOS + Xcode. Clone with submodules:

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:

cd FTStore/manager
make iphoneos   # builds FTStore-Manager.ipa into ./packages

The server (web/)

Docker, no Xcode needed:

cd FTStore/web
docker compose up -d

The dashboard is then at http://localhost:3000/admin. Full setup, storage and backup docs live in web/README.md.

Upstream tracking

FTStore is a hard fork of 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 so it can be diffed against when we choose to, via scripts/sync-upstream.sh; the rebrand stays reproducible through scripts/apply-rebrand.sh.

web/ and manager/ never came from upstream at all. See 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 - The maker of Feather, which FTStore is based on.
  • idevice - Backend for builds with this included, used for communication with installd.
  • *.backloop.dev - localhost with public CA signed SSL certificate
  • Vapor - A server-side Swift HTTP web framework.
  • Zsign - Allowing to sign on-device, reimplimented to work on other platforms such as iOS.
  • LiveContainer - Fixes/some help
  • Nuke - Image caching.
  • Asspp - Some code for setting up the http server.
  • 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. 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.