- MerryFox85811小时前⭐️ 新访客6062
最初是受到 AltGallery https://github.com/bebound/AltGallery 这个项目的启发。
平时会关注一些 GitHub 上的 iOS 开源应用,也会通过 AltStore 软件源获取应用更新。但如果想把这些 IPA 下载下来,自己重签名,再分发给设备安装,中间还是有不少重复操作。
说白了,就是人比较懒,不想每次都手动下载、签名、上传、更新安装地址。
于是干脆自己写了一个自动化工具,把整个流程串起来。
这就是 ios-auto-sign。
GitHub 项目地址: https://github.com/3zang/ios-auto-sign
在线体验地址: https://ota.bilin.eu.org/
灵感来源: https://github.com/bebound/AltGallery
一、项目介绍
ios-auto-sign 是一个自托管的 iOS IPA 自动重签名与 OTA 分发平台。
支持订阅 AltStore 格式的软件源,当上游应用发布新版本时,自动检测更新、下载 IPA 、使用自己的证书完成重签名,并发布到 OTA 安装页面。
整个流程尽量自动化,部署一次,后续就不用反复手动折腾了。
不需要 Mac ,不需要 Xcode ,也不需要依赖第三方在线签名平台。
二、界面预览
以下是项目实际界面截图。
- 管理后台概览
- 软件源管理
支持添加多个 AltStore 格式的软件源,自动同步应用及版本信息。
- 应用管理
可以针对每个应用单独配置显示名称、图标、Bundle ID 、签名证书及签名参数。
- 证书管理
上传 p12 、证书密码和 mobileprovision 。
- OTA 安装页面
自动生成安装链接和二维码,iPhone 使用 Safari 即可发起安装。
三、主要功能
- 软件源订阅与自动更新
支持多个 AltStore 格式 JSON 软件源。
自动获取应用名称、图标、Bundle ID 、版本号、下载地址等信息。
支持自定义轮询间隔。
支持手动刷新、启用和停用软件源。
使用 ETag + SHA256 检测版本变化,避免重复处理。
检测到新版本后自动触发后续任务。
- IPA 自动重签名
支持上传 p12 证书、证书密码和 mobileprovision 。
支持为不同应用指定不同证书。
支持自定义应用显示名称、图标和 Bundle ID 。
支持自定义签名参数。
检测到新版本后自动创建签名任务。
支持失败重试和任务记录。
- OTA 在线安装分发
自动生成 iOS OTA 所需的 plist 。
提供独立安装页面。
显示应用图标、版本、更新时间和文件大小。
支持直接安装和二维码扫描安装。
支持 HTTPS 域名及反向代理部署。
不需要手动维护每个 IPA 的安装地址。
- Bark 更新通知
检测到应用更新后自动推送通知。
支持自定义 Bark 服务器地址。
支持设备 Key 、通知分组和提示音。
支持发送测试通知。
- 多用户管理
支持注册和登录。
第一个注册的账号自动成为管理员。
普通用户只能管理自己的证书、应用配置和签名产物。
管理员可以管理公共图标库和全局设置。
- 其他特性
Apple 风格响应式管理界面。
支持深色和浅色主题。
支持简体中文和 English 。
适配 PC 和移动端浏览器。
支持自定义站点标题。
支持应用历史产物保留策略。
四、自动化工作流程
AltStore 软件源
│
▼
定时检测版本更新
│
▼
发现新版本
│
▼
下载原始 IPA
│
▼
使用对应证书自动签名
│
▼
发布签名后的 IPA
│
┌────┴────┐
▼ ▼
OTA 安装 Bark 通知
│
▼
iPhone 扫码安装只需要提前配置好软件源、证书和应用签名参数,后续更新就可以自动完成。
五、技术架构
后端:Go
前端:原生 HTML / CSS / JavaScript
签名:zsign
数据存储:JSON 文件
证书加密:AES-256-GCM
密码哈希:PBKDF2-HMAC-SHA256
项目的一些实现特点:
前后端打包成一个 Go 二进制文件。
前端通过 go:embed 内嵌,不需要单独部署前端。
Go 部分使用标准库,无第三方 Go 模块依赖。
需要额外准备对应平台的 zsign 可执行文件。
支持 Windows 、Linux amd64 、Linux arm64 。
GitHub Actions 自动编译并发布多平台 Release 。
ARM64 的小 VPS 也可以部署运行。
六、部署要求
可以部署在自己的 VPS 、Linux 服务器或者 Windows 机器上。
支持平台:
平台
架构Windows
amd64Linux
amd64Linux
arm64基本部署流程:
从 GitHub Releases 下载对应平台的程序。
准备对应平台的 zsign 可执行文件。
启动程序。
浏览器访问管理页面并注册管理员账号。
上传自己的签名证书。
添加软件源并配置需要自动签名的应用。
注意:iOS OTA 安装需要配置有效且受信任的 HTTPS 域名。
具体部署命令和配置说明请参考项目 README 。
七、项目地址与在线体验
在线体验:
GitHub 开源地址:
https://github.com/3zang/ios-auto-sign
灵感来源:
https://github.com/bebound/AltGallery
欢迎 Star 、Fork ,也欢迎提交 Issue 和 PR 。
项目目前还在持续完善中,如果大家在使用过程中发现问题,或者有值得增加的功能,欢迎交流讨论。
最后,还是那句话:
人比较懒,所以尽量让机器多干点活。 :D




主楼 - NobleMaple1911小时前⭐️ 新访客6054
这个可以的,思路挺清晰。
- GentleFox52010小时前⭐️ 新访客6076
应该是权限没配对,检查一下。
- MerryEcho89410小时前⭐️ 新访客6070
不如直接上 Go,性能好很多。