# Apple firmware version **Repository Path**: SerMs/apple-firmware-version ## Basic Information - **Project Name**: Apple firmware version - **Description**: Apple firmware version - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🍎 Apple固件签名状态监控系统 > **智能监控 iOS/iPadOS 固件签名状态,签名开放时自动邮件通知** [![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Status](https://img.shields.io/badge/Status-Production%20Ready-brightgreen.svg)](PROJECT_READY.md) --- ## 📖 快速导航 | 📚 文档 | 📝 说明 | |---------|---------| | **[快速启动检查清单](QUICK_START_CHECKLIST.md)** | ⭐ 10分钟快速上手指南 | | **[项目就绪文档](PROJECT_READY.md)** | 📋 项目结构和使用说明 | | **[完整文档](docs/START_HERE.md)** | 📖 详细使用文档 | | **[验证报告](VERIFICATION_REPORT.md)** | ✅ 项目验证报告 | --- ## ✨ 核心特性 ### 🎯 智能通知 - ✅ **只在签名开放时通知** - 不会打扰您的关闭通知 - ✅ **自动去重** - 同一版本只通知一次 - ✅ **状态持久化** - 重启后记住已通知的版本 ### 📱 多设备支持 ```ini # 同时监控iPhone、iPad等多个设备 DEVICE_MODEL=iPhone16,2;iPad14,6;iPhone15,3 ``` ### 🔍 灵活版本匹配 ```ini # 方式1:指定多个版本 TARGET_VERSION=17.6.1;18.0;18.7.1 # 方式2:监控版本区间 VERSION_MIN=17.0 VERSION_MAX=18.9 ``` ### 🌐 双数据源 - **主数据源**:IPSW.me API(快速、稳定) - **备用数据源**:AppleDB.dev(自动切换) --- ## 🚀 快速开始(3步) ### 1️⃣ 安装依赖 ```bash pip install -r requirements.txt ``` ### 2️⃣ 配置 ```bash # 复制配置模板 cp config/config.example.env .env # 编辑配置(Windows用户用 notepad .env) nano .env ``` **最小配置**: ```ini DEVICE_MODEL=iPhone16,2 # 设备型号 TARGET_VERSION=18.0 # 目标版本 CHECK_INTERVAL=1800 # 检查间隔(秒) SMTP_SERVER=smtp.gmail.com # 邮件服务器 SMTP_PORT=587 # 邮件端口 EMAIL_USER=your@gmail.com # 发件人 SMTP_PASSWORD=your_app_password # 邮箱密码 RECEIVER_EMAIL=your@gmail.com # 收件人 ``` ### 3️⃣ 运行 ```bash # 测试配置 python test_config.py # 单次检查 python firmware_monitor.py --once # 启动监控 python firmware_monitor.py ``` --- ## 📂 项目结构 ``` iphone/ ├── firmware_monitor.py # 主程序 ├── test_config.py # 配置测试工具 ├── requirements.txt # 依赖列表 │ ├── docs/ # 📚 文档(16个) │ ├── START_HERE.md # 👈 从这里开始 │ ├── MULTI_DEVICE_GUIDE.md # 多设备配置 │ └── TROUBLESHOOTING.md # 故障排查 │ ├── config/ # ⚙️ 配置示例 │ ├── config.example.env # 基础配置 │ └── config.multi_device_fixed.example # 多设备配置 │ ├── tools/ # 🛠️ 工具(5个) │ ├── find_device_model.py # 查询设备型号 │ └── check_signing_status.py # 检查签名状态 │ ├── tests/ # 🧪 测试(7个) │ └── test_multi_device.py # 多设备测试 │ └── scripts/ # 🚀 启动脚本 ├── run_monitor.bat # Windows ├── run_monitor.sh # Linux/macOS └── firmware_monitor.service # systemd ``` --- ## 🛠️ 实用工具 ### 查询设备型号 不知道设备型号?运行: ```bash python tools/find_device_model.py ``` 输入设备名称(如 `iPhone 15 Pro Max`),获得标识符(如 `iPhone16,2`) ### 测试配置 验证配置是否正确: ```bash python test_config.py ``` 自动检查: - ✅ 环境变量配置 - ✅ 邮件服务器连接 - ✅ API访问状态 --- ## 📧 邮件配置 ### Gmail 1. 开启两步验证 2. 生成应用专用密码:[Google App Passwords](https://myaccount.google.com/apppasswords) 3. 使用应用专用密码(不是Gmail密码) ```ini SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 SMTP_PASSWORD=your_app_password # 应用专用密码 ``` ### QQ邮箱 1. 进入邮箱设置 → 账户 2. 开启SMTP服务 3. 获取授权码(不是QQ密码) ```ini SMTP_SERVER=smtp.qq.com SMTP_PORT=587 SMTP_PASSWORD=authorization_code # 授权码 ``` --- ## 💡 使用示例 ### 单设备单版本 ```ini DEVICE_MODEL=iPhone16,2 TARGET_VERSION=18.0 ``` ### 多设备多版本 ```ini DEVICE_MODEL=iPhone16,2;iPad14,6;iPhone15,3 TARGET_VERSION=17.6.1;18.0;18.7.1 ``` ### 版本区间监控 ```ini DEVICE_MODEL=iPhone16,2 VERSION_MIN=17.0 VERSION_MAX=18.9 ``` --- ## 📚 文档导航 ### 新手入门 1. **[快速启动检查清单](QUICK_START_CHECKLIST.md)** - 10分钟上手 2. **[快速开始](docs/START_HERE.md)** - 完整使用指南 3. **[故障排查](docs/TROUBLESHOOTING.md)** - 常见问题解决 ### 进阶功能 1. **[多设备配置](docs/MULTI_DEVICE_GUIDE.md)** - 监控多个设备 2. **[通知规则](docs/NOTIFICATION_RULES.md)** - 通知逻辑说明 3. **[API格式](docs/API_FORMAT_GUIDE.md)** - 设备标识符格式 ### 项目信息 1. **[项目就绪](PROJECT_READY.md)** - 项目结构和亮点 2. **[验证报告](VERIFICATION_REPORT.md)** - 功能验证结果 3. **[更新日志](docs/UPDATE_LOG.md)** - 版本更新记录 --- ## 🎯 通知规则 ### 何时通知? - ✅ **签名开放** → 发送邮件 📧 - ❌ **签名关闭** → 不通知 🔕 - ✅ **状态变化(关→开)** → 通知 📧 - ❌ **状态变化(开→关)** → 不通知 🔕 详见:[通知规则文档](docs/NOTIFICATION_RULES.md) --- ## ⚙️ 部署方式 ### Windows ```bash # 直接运行 python firmware_monitor.py # 使用脚本 scripts\run_monitor.bat # 任务计划程序 # 详见 docs/START_HERE.md ``` ### Linux/macOS ```bash # 直接运行 python firmware_monitor.py # 使用脚本 bash scripts/run_monitor.sh # systemd服务 sudo cp scripts/firmware_monitor.service /etc/systemd/system/ sudo systemctl enable firmware_monitor sudo systemctl start firmware_monitor ``` --- ## 🔍 常见问题 ### Q: 如何找到设备型号? ```bash python tools/find_device_model.py ``` ### Q: 邮件发送失败? - Gmail:使用应用专用密码 - QQ邮箱:使用授权码(不是QQ密码) - 详见:[故障排查](docs/TROUBLESHOOTING.md) ### Q: 支持多个设备吗? 支持!使用分号分隔: ```ini DEVICE_MODEL=iPhone16,2;iPad14,6 ``` 详见:[多设备配置指南](docs/MULTI_DEVICE_GUIDE.md) ### Q: 如何监控版本区间? ```ini VERSION_MIN=17.0 VERSION_MAX=18.9 ``` 详见:[多设备配置指南](docs/MULTI_DEVICE_GUIDE.md) --- ## 📊 项目状态 | 项目 | 状态 | |------|------| | **文件结构** | ✅ 优秀 | | **功能完整性** | ✅ 完整 | | **文档质量** | ✅ 优秀 | | **可用性** | ✅ 良好 | | **生产状态** | ✅ 就绪 | 详见:[验证报告](VERIFICATION_REPORT.md) --- ## 🎁 项目亮点 - 🎯 **只在需要时通知** - 签名开放才通知 - 📱 **多设备支持** - 一次监控所有设备 - 🔍 **灵活版本匹配** - 支持列表和区间 - 🌐 **双数据源** - 主备切换确保可靠 - 📚 **文档完善** - 16个文档覆盖各种场景 - 🛠️ **工具齐全** - 设备查询、配置测试等 --- ## 📖 下一步 ### 第一次使用? 1. 阅读 **[快速启动检查清单](QUICK_START_CHECKLIST.md)** 2. 按步骤配置和测试 3. 启动监控器 ### 需要帮助? 1. 查看 **[完整文档](docs/START_HERE.md)** 2. 查看 **[故障排查](docs/TROUBLESHOOTING.md)** 3. 查看 **[项目就绪文档](PROJECT_READY.md)** --- ## 📝 许可证 MIT License --- ## 🙏 致谢 - 数据来源:[IPSW.me](https://api.ipsw.me/) & [AppleDB.dev](https://appledb.dev/) - Python社区 --- **开始使用**:阅读 [快速启动检查清单](QUICK_START_CHECKLIST.md) 👈