告别掉签烦恼,真正的一年稳定签名方案
iOS IPA 自动签名分发系统,基于 Apple 开发者账号 + UDID 绑定机制,实现 365天稳定签名、设备独享、无需共享证书。
本系统采用 Apple 个人开发者账号 + Ad Hoc 分发机制,这是 Apple 官方为开发者提供的合法分发方式。
Ad Hoc 是 Apple 为开发者提供的"定向分发"机制,允许开发者将 App 安装到指定的设备上进行测试。工作流程如下:
1. 获取设备 UDID(每台 iPhone/iPad 的唯一识别码)
↓
2. 将 UDID 注册到 Apple 开发者账号
↓
3. 为该设备生成专属描述文件(Provisioning Profile)
↓
4. 使用该描述文件对 IPA 进行签名
↓
5. 设备安装签名后的 IPA,有效期 365 天
| 对比项 | 企业签名(Enterprise) | 本系统(Ad Hoc) |
|---|---|---|
| 签名主体 | 企业证书($299/年) | 个人开发者证书($99/年 ≈ ¥688) |
| 分发方式 | 所有人共用同一签名 | 每设备独立签名 |
| 风险等级 | 极高(一人违规,全部掉签) | 极低(设备独立,互不影响) |
| 掉签原因 | 证书被滥用 → Apple 封禁 | 仅当开发者账号本身被封 |
| 有效期 | 理论1年,实际几天到几周 | 真正的365天 |
核心区别:企业签名是"一对多"(一个证书签所有人),本系统是"一对一"(每台设备独立签名)。Apple 封禁企业证书是因为检测到大规模异常分发;而本系统每个设备都是合法的"开发者测试设备",不触发 Apple 的封禁机制。
本系统通过 iOS 描述文件(mobileconfig) 自动获取设备 UDID:
1. 用户点击"获取设备权限"
↓
2. Safari 下载并安装临时描述文件
↓
3. 描述文件将设备 UDID 回传到服务器
↓
4. 服务器自动将 UDID 注册到 Apple 开发者账号
↓
5. 自动生成专属描述文件并签名 IPA
↓
6. 用户返回页面即可安装
整个过程全自动,用户无需手动查找 UDID,体验与普通应用商店下载一致。
当前市场上的 iOS 签名服务(尤其是企业签名分发平台)存在以下严重问题:
- 每天最低扣费 10 个签名配额
- 没有客户下载也要扣钱
- 签名用完必须充值,否则链接失效
- 所有客户使用同一个企业证书
- 一个用户违规 → 证书被封 → 所有人掉签
- 用户需要重新下载安装,体验极差
- 企业签名平均存活时间:几天到几周
- 掉签后重新签名需要额外付费
- 用户投诉、流失、运营成本高
- 签名费 + 下载费 + 续签费 + 补签费
- 价格不透明,随时涨价
| 痛点 | 市面签名服务 | 本系统 |
|---|---|---|
| 费用 | 按量收费 + 最低消费 | 开发者账号 ¥688/年,无其他费用 |
| 签名方式 | 共享企业签名 | 每设备独立签名 |
| 掉签风险 | 极高 | 接近于零 |
| 有效期 | 不确定(几天~几周) | 365天 |
| 用户体验 | 频繁重装 | 安装一次,用满一年 |
| 成本可控 | 不可预测 | 完全透明 |
- 一个开发者账号仅需 ¥688/年(约 $99 美元)
- 全球任何国家的个人开发者账号均可使用
- 无需购买昂贵的企业账号($299/年)
- 无平台抽成,一次投入,终身自主
- 设备独享签名:一台设备一个签名,互不影响
- UDID 绑定:签名与设备硬件绑定,无法转移
- 不触发封禁:合法的开发者测试流程
- 1 台设备 = 1 个签名配额(与安装 App 数量无关)
- 同一设备可签名 N 个 IPA 应用,只占用 1 个配额
- 设备重装/升级系统,UDID 不变,配额不增加
一个 Apple 个人开发者账号的设备配额如下:
| 设备类型 | 配额数量 |
|---|---|
| iPhone | 100 台 |
| iPad | 100 台 |
| Apple Watch | 100 台 |
| Apple TV | 100 台 |
| Mac(Apple Silicon) | 100 台 |
说明:
- 配额独立计算:iPhone 100 台和 iPad 100 台是分开的,互不占用
- 一机多应用:1 台 iPhone 安装 10 个 IPA,只占用 1 个 iPhone 配额
- 配额可释放:删除设备后配额释放,可注册新设备
- 年度重置:每个会员年度,配额可重新分配
假设您需要为 100 台 iPhone 提供签名服务:
| 方案 | 成本 | 稳定性 |
|---|---|---|
| 市面企业签名 | ¥3000+/月(不含掉签损失) | 随时可能掉签 |
| 本系统 | ¥688/年(开发者账号费用) | 365天稳定 |
年节省成本:¥3000 × 12 - ¥688 = ¥35,312
- ✅ UDID 自动获取:用户无需手动查找,一键授权
- ✅ 自动设备注册:调用 Apple API 自动注册设备
- ✅ 自动签名:zsign 高效签名,秒级完成
- ✅ 自动分发:itms-services 协议,标准安装流程
- ✅ 多证书管理:支持多个开发者账号轮换
- ✅ 设备管理:完整的设备列表、搜索、统计
- ✅ 下载统计:实时监控下载数据
- ✅ 游戏风格 UI:精美的下载页面模板
- ✅ 多应用支持:一个系统管理多个 App
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 1 核 | 2 核+ |
| 内存 | 1 GB | 2 GB+ |
| 硬盘 | 20 GB | 50 GB+(IPA 文件较大) |
| 系统 | CentOS 7+ / Ubuntu 18+ | Ubuntu 22.04 LTS |
| 面板 | 宝塔面板 | 最新版 |
| Web | Nginx 1.22+ | - |
| PHP | 8.1+(扩展:curl, openssl, zip, sqlite3, fileinfo) | - |
| 数据库 | MySQL 5.7+ | - |
必须开放端口:80, 443
- 购买云服务器(推荐阿里云/腾讯云/华为云)
- 安装宝塔面板
- 在宝塔中安装:Nginx + PHP 8.1 + MySQL
⚠️ 问题:开启防跨站后,PHP 无法访问上级目录,导致签名失败。
解决方法:
- 宝塔面板 → 网站 → 找到你的站点
- 点击站点名称进入设置
- 找到 防跨站攻击(open_basedir)
- 关闭此选项
⚠️ 问题:宝塔安全插件会阻止 www 用户执行 zsign。
解决方法:
- 宝塔面板 → 软件商店 → 已安装
- 找到 系统加固 或 宝塔安全 插件
- 禁用所有限制规则 或 卸载插件
⚠️ 问题:PHP 默认禁用了exec等函数,导致无法调用 zsign 签名。
解决方法:
- 宝塔面板 → 软件商店 → PHP 设置
- 点击 禁用函数
- 删除以下函数:
execshell_execsystempassthruproc_openpopen
确保以下扩展已安装:
- curl
- openssl
- zip
- sqlite3(或 pdo_sqlite)
- fileinfo
检查命令:
php -m | grep curl
php -m | grep openssl
php -m | grep zip
php -m | grep sqlite
php -m | grep fileinfo宝塔 → 网站 → 设置 → 伪静态,添加:
location /mobileconfig/ {
default_type application/x-apple-aspen-config;
}
location ~ ^/([a-zA-Z0-9\-]+)$ {
if (-f $request_filename) {
break;
}
if (-d $request_filename) {
break;
}
rewrite ^/([a-zA-Z0-9\-]+)$ /app.php?slug=$1 last;
}- 宝塔面板 → 数据库 → 添加数据库
- 数据库名:
supersign - 导入
supersign.sql文件
将所有文件上传到网站目录,如 /www/wwwroot/你的域名/
编辑 config.php 文件第 20-22 行:
// 数据库配置
define('DB_HOST', 'localhost');
define('DB_NAME', 'supersign'); // 数据库名
define('DB_USER', 'supersign'); // 数据库用户名
define('DB_PASS', '你的数据库密码'); // 修改为你的密码# 进入系统目录
cd
# 克隆仓库
git clone https://github.com/zhlynn/zsign.git
cd zsign/build/linux
# 编译
make clean && make
# 复制到网站目录(请替换为你的实际路径)
sudo cp /root/zsign/bin/zsign /www/wwwroot/你的网站目录/zsign
# 设置权限
sudo chmod +x /www/wwwroot/你的网站目录/zsign
sudo chown www:www /www/wwwroot/你的网站目录/zsign
# 验证是否可用
/www/wwwroot/你的网站目录/zsign --help
⚠️ 必须配置 HTTPS! iOS 安装应用必须使用 HTTPS。
- 宝塔面板 → 网站 → 站点设置 → SSL
- 选择 Let's Encrypt 免费证书
- 勾选域名,点击申请
- 开启 强制 HTTPS
cd /www/wwwroot/你的域名
# 建议将整个目录权限设为 777
chmod -R 777 ./
# 或至少确保以下目录可写
chmod -R 777 ./ipa
chmod -R 777 ./signed
chmod -R 777 ./plist
chmod -R 777 ./mobileconfig
chmod -R 777 ./cert
chmod -R 777 ./uploads
chmod -R 777 ./logs# 1. 检查 PHP 函数是否启用
php -r "echo function_exists('exec') ? 'exec OK' : 'exec DISABLED';"
# 2. 检查 zsign 是否可用
/www/wwwroot/你的域名/zsign --help
# 3. 检查目录权限
ls -la /www/wwwroot/你的域名/
# 4. 检查 HTTPS
curl -I https://你的域名
# 5. 测试 www 用户执行 zsign
sudo -u www /www/wwwroot/你的域名/zsign --help- 访问:
https://你的域名/admin/ - 默认账号:
admin/admin123 - 首次登录请立即修改密码!
- 配置 Apple API:后台 → 设置 → 填入 Apple 开发者账号的 API 密钥
- 上传证书:后台 → 证书管理 → 上传 P12 + mobileprovision
- 上传应用:后台 → 应用管理 → 上传 IPA 文件
- 分享链接:把
https://你的域名发给用户
- 使用 Safari 浏览器 打开下载页面
- 点击"获取设备权限" → 安装描述文件
- 安装完成后自动返回页面
- 点击"安装应用"
- 前往:设置 → 通用 → VPN 与设备管理 → 信任证书
原因:没有使用 Safari 浏览器,或 HTTPS 证书有问题
解决:必须使用 iPhone 自带的 Safari 浏览器,确保 HTTPS 证书有效
原因:没有信任开发者证书
解决:设置 → 通用 → VPN 与设备管理 → 信任证书
# 检查并修复权限
chown www:www /www/wwwroot/你的域名/zsign
chmod 755 /www/wwwroot/你的域名/zsign
chmod -R 777 /www/wwwroot/你的域名/signed
chmod -R 777 /www/wwwroot/你的域名/plist# 手动安装依赖
apt install -y libssl-dev libzip-dev
# 重新编译
cd /root
git clone https://github.com/zhlynn/zsign.git
cd zsign
g++ *.cpp common/*.cpp -lcrypto -lssl -lzip -O3 -o zsign
cp zsign /usr/local/bin/解决:启用 R2 云存储分发,或修改 php.ini 增加内存限制
/www/wwwroot/你的域名/
├── index.php # 玩家下载页
├── udid.php # UDID 获取回调
├── download.php # IPA 下载
├── config.php # 配置文件
├── zsign # 签名工具
├── admin/ # 后台管理
│ ├── index.php # 控制台
│ ├── apps.php # 应用管理
│ ├── certificates.php # 证书管理
│ ├── devices.php # 设备管理
│ └── guide.php # 部署指南
├── api/ # API 接口
├── includes/ # 核心类库
│ ├── AppleAPI.php # Apple API 调用
│ └── ...
├── cert/ # 证书目录(保密)
├── ipa/ # 原始 IPA
├── signed/ # 签名后 IPA
├── plist/ # 安装 plist
├── mobileconfig/ # UDID 描述文件
├── uploads/ # 上传文件
└── logs/ # 日志文件
- ✅ 首次登录立即修改管理员密码
- ✅ cert 目录设置 700 权限(仅所有者可访问)
- ✅ 定期备份数据库
- ✅ 监控证书过期时间
- ✅ 不要将开发者账号信息泄露给他人
如有问题,请联系开发者:
📱 Telegram:@N26GG
| 特性 | 本系统 |
|---|---|
| 签名有效期 | 365 天 |
| 成本 | ¥688/年(开发者账号) |
| 设备配额 | 100 台 iPhone + 100 台 iPad + ... |
| 掉签风险 | 接近零 |
| 安装体验 | 一键安装,无需越狱 |
| 部署难度 | 宝塔面板,简单部署 |
告别共享签名的噩梦,拥抱真正的稳定签名方案!
© 2025 365天不掉签超级签名系统