A desktop GUI for ipatool
Search the App Store · Browse versions · Download .ipa / .pkg with any Apple ID
IPATool GUI is a cross-platform desktop app (Windows / macOS / Linux) for the command-line tool ipatool. It does not reimplement Apple protocols — it wraps the CLI into a proper GUI: search apps, browse version history, queue downloads, and manage multiple Apple IDs.
This repository ships no ipatool binary. On first launch the app fetches it from the official GitHub releases and verifies the published SHA-256.
| Search | Keyword / Bundle ID, platform filter, app icons, search history |
| Version history | Full version list; download any specific version |
| Purchases | Paginated apps owned by your Apple ID; multi-select batch download |
| Download queue | Parallel downloads, true pause/resume (HTTP Range), retry, reorder, speed & ETA, persists across restarts |
| Multi-account | Several Apple IDs side by side with one-click switching and isolated sessions |
| Sign-in | Two-factor authentication (2FA) completed inside the app |
| Batch import | Import text / JSON / App Store links into the download queue |
| Activity log | Full output of every ipatool call, secrets redacted, filter & export |
| UI | Dark / light theme, English & Chinese, command palette (Ctrl/⌘ + K) |
| Search & account switcher | Account manager |
|---|---|
![]() |
![]() |
Download the build for your platform from Releases.
Builds are ad-hoc signed and not notarized. On first open, Gatekeeper may say “IPATool GUI” is damaged and can’t be opened — the file is not corrupt; it simply has not been notarized. After extracting, run this once:
xattr -dr com.apple.quarantine "/Applications/IPATool GUI.app"Notes:
-ris required (files inside the app bundle are also quarantined).- On macOS 15+, right-click → Open no longer bypasses Gatekeeper; this command is the simplest path.
- Extract with Finder or
tar -xzfso symlinks and the executable bit survive.
SmartScreen may warn about an unknown publisher — choose Run anyway.
AppImage and deb packages for x64 / arm64.
- Install and launch the app; follow the wizard to detect or install the ipatool engine (can be automatic).
- Sign in with your Apple ID (e-mail or phone number). Enter the 2FA code in-app if prompted.
- Search for an app → open details / versions → Download. Items enter the queue where you can pause, resume, and retry.
On some networks, Apple purchase/download endpoints (e.g. p47-buy.itunes.apple.com)
are not directly reachable. If credential fetch fails before download, configure a
system proxy or VPN and try again.
npm install # Node 20.19+
npm run dev # Electron + Vite HMR
npm run typecheck && npm test && npm run lintPackage:
npm run dist:win # Windows NSIS + portable
npm run dist:mac # macOS (unsigned)
npm run dist:linux # AppImage + debMore build, test, and release detail: docs/architecture.md.
| Doc | Contents |
|---|---|
| docs/architecture.md | Multi-account model, pause/resume, progress parsing, security model, packaging & CI, code map |
| Security | Report vulnerabilities via Private vulnerability reporting — do not open a public issue |
Worth knowing (details in the docs):
- True multi-account isolation — each account has its own ipatool session directory and sandboxed HOME.
- Pause is real pause — uses ipatool’s HTTP Range resume, not cancel-and-restart.
- Credentials are never stored in plaintext — OS keychain /
safeStorage; refused rather than written when unavailable. - No auto-update — an unsigned auto-update channel is a security risk; updates are prompt-only.
Only download apps you are entitled to. Automated App Store access may trigger Apple rate limits or account flags.
This project is a third-party frontend for majd/ipatool (MIT) and does not redistribute ipatool.
License: MIT

