你是否曾想研究某款热门 App 的本地资源结构?是否需要为越狱设备或企业内部分发准备加密 IPA 包?又或者在做移动安全审计时,苦于无法合法、稳定地批量获取官方 App Store 上架应用的原始安装文件?ipatool 正是为此而生——它不是破解工具,也不是越狱助手,而是一个严格遵循 Apple 服务协议、基于官方 App Store 接口构建的命令行 IPA 获取工具。它让你无需越狱、无需 Mac 上的 Xcode 或第三方图形化助手,仅凭终端一行命令,即可完成登录、搜索、授权、版本筛选与下载全流程。
核心功能
- 跨平台 App Store 搜索直达:支持按关键词精准检索 iOS、iPadOS、tvOS 和 visionOS 四大生态的应用,可指定平台(如
--platform visionos)过滤结果,避免在海量 iPhone 应用中大海捞针,特别适合 visionOS 开发者快速定位空间计算类应用。 - Apple ID 账户级身份认证管理:通过
ipatool auth login完成 App Store 账户登录,并将凭证安全存储于系统 Keychain(macOS)或凭据管理器(Windows/Linux),后续操作自动复用,无需重复输入密码,且支持auth revoke主动吊销会话,保障账号安全。 - 已购应用智能清单导出:运行
ipatool list-purchases即可列出当前账号下所有付费/免费下载过的 App,按购买时间倒序排列,并支持分页(--page 2 --max-results 20),方便审计企业设备管理策略或批量归档个人应用资产。 - 多版本 IPA 精确选择:对任意 App(通过 Bundle ID 或 App ID),执行
ipatool list-versions可获取其全部历史发布版本列表,包含版本号、构建号、发布时间和文件大小,避免因下载最新版导致兼容性问题(例如测试旧版 iOS 15 兼容性时需锁定 v2.3.1)。 - 原生加密 IPA 直接下载:调用
ipatool download后,工具会向 Apple CDN 请求标准加密 IPA 文件(即 App Store 分发的原始格式),不进行解密或重打包,完全符合 Apple 开发者协议,适用于合规的安全分析、离线备份与自动化 CI/CD 流程。 - 结构化数据输出支持:所有命令均支持
--format json参数,返回标准 JSON 格式响应,可直接被 Python/Shell 脚本解析,轻松集成进自动化工作流(如每日拉取 Top 100 应用版本快照并比对更新)。 - 非交互式批处理能力:通过
--non-interactive标志,可在无图形界面的服务器、Docker 容器或 CI 环境中静默运行,配合--keychain-passphrase参数实现全自动化流水线,彻底摆脱人工点击依赖。 - 跨操作系统原生支持:官方提供 Windows、Linux、macOS 三平台预编译二进制,无需安装 Go 环境,开箱即用;macOS 用户更可通过 Homebrew 一键安装(
brew install ipatool),体验与系统工具无缝融合。
技术亮点
- 纯 Go 编写,零外部依赖:整个工具由 Go 语言实现,静态编译后生成单文件二进制,不依赖 Python 解释器、Node.js 或 Java 运行时,规避了环境碎片化问题,确保在嵌入式 Linux 或最小化容器中稳定运行。
- 深度适配 Apple 现代认证体系:底层采用 Apple 的
gsa(Global Session Authentication)与adam(App Store 后端服务)协议栈,完整模拟 macOS App Store 客户端行为,支持两步验证(2FA)动态验证码注入,而非简单抓包或过时的 iTunes API。 - Keychain/Secrets 集成设计:在 macOS 上自动使用系统 Keychain 存储会话 Token,在 Windows 上调用 Windows Credential Manager,Linux 则支持 pass 或 GNOME Keyring,敏感凭证永不落盘明文,大幅降低账号泄露风险。
- 多平台统一抽象层:针对不同操作系统差异(如证书信任链、网络代理策略、时区处理),项目封装了 platform-specific 模块,确保
download在 Ubuntu 22.04 与 Windows Server 2022 上返回完全一致的 IPA 校验和(SHA256),为可重复性研究提供基础保障。 - 面向研究与合规场景的克制设计:明确拒绝添加“IPA 解密”、“IPA 重签名”、“越狱安装”等高危功能,所有操作均产生 Apple 官方分发的加密 IPA,符合《Apple Developer Program License Agreement》第 3.3.2 条关于分发与反向工程的限制,开发者可放心用于白帽安全评估。
适合哪些人用
这款工具并非面向普通用户,而是为技术从业者量身打造:
- 移动安全研究员:在开展 iOS 应用渗透测试前,需批量获取目标应用多个历史版本 IPA 进行静态分析(如检查硬编码密钥、证书校验逻辑绕过)。使用
ipatool search "banking app" --platform iphone && ipatool list-versions -b com.bank.app | jq '.versions[0].version' | xargs -I{} ipatool download --bundle-identifier com.bank.app --version {}即可自动化完成。 - 企业 MDM 管理员:为内部员工设备预装特定 App(如定制版 Zoom 或 Teams),需从 App Store 下载官方 IPA 并上传至自有 MDM 平台。借助
ipatool auth login绑定企业 Apple ID 后,可脚本化同步采购清单,确保分发包与 App Store 实时一致,规避第三方渠道篡改风险。
快速上手
以 macOS 为例,三步完成部署与首次下载:
- 安装:打开终端,执行
brew install ipatool(若未安装 Homebrew,请先访问 brew.sh 安装); - 登录:运行
ipatool auth login,按提示输入 Apple ID 邮箱及密码,如启用双重认证则输入六位验证码; - 下载:例如下载「Shortcuts」应用最新版,先搜索获取 ID:
ipatool search Shortcuts --platform iphone,记下返回的 App ID(如680093197),再执行ipatool download --app-id 680093197,IPA 将保存至当前目录,文件名含 Bundle ID 与版本号,便于归档。
同类对比 / 注意事项
相比老牌工具 itms-services 链接生成器或 Python 编写的 appstore-scraper,ipatool 的核心优势在于:它不依赖已废弃的 iTunes Search API(2023 年已关闭),而是直连 Apple 当前生产环境的 adam 服务;同时规避了基于 UI 自动化的工具(如 Appium + Simulator)带来的性能低、稳定性差问题。需特别注意:下载的 IPA 为 Apple 加密格式,无法直接安装到未越狱设备;若需安装,须配合 Xcode 或第三方签名服务(如 AltStore)进行重签名——但该步骤不在 ipatool 职责范围内,项目 Wiki 明确列出了合规重签名方案指引。
项目信息
Command-line tool that allows searching and downloading app packages (known as ipa files) for iOS, iPadOS, tvOS, and visionOS from the App Store.
10.1k
今日 +56 stars today
Stars
873
Forks
Go
MIT
编程语言:Go|GitHub Star 数:10,122|开源协议:MIT|GitHub 项目地址
如果你需要一个稳定、合规、可编程的 App Store IPA 获取入口,而不是一个黑盒破解器,那么 ipatool 就是你终端里最值得信赖的「App Store 命令行客户端」。



