/super-signature

🌌 iOS 签名分发内测服务

Primary LanguageGoMIT LicenseMIT

README.md

微信公众号.png

JetBrains 开源证书支持

感谢 JetBrains 提供的免费授权

初衷

提供给个人开发者测试分发自己的应用,苹果个人开发者账号名下有 100 台测试设备可以绑定进行测试分发 APP,本应用只是方便开发者分享自己的应用

这是什么

一个用 go 实现的 iOS 签名分发应用

使用本应用可以进行 IPA 重签名分发

实现功能:苹果开发者账号管理、IPA安装包管理

运行环境:Docker 或 centos 7

核心签名使用 zsign ,感谢

Docker 运行

# 查看帮助
docker run --rm togettoyou/super-signature:latest -h
# 版本
docker run --rm togettoyou/super-signature:latest -v
# http 方式部署,ssl 证书部署可以自行使用 nginx 等网关,或支持 https 的内网穿透等方式
mkdir super-signature
cd super-signature
docker run --name super-signature \
  -v $PWD/ios:/root/super-signature/ios \
  -v $PWD/db:/root/super-signature/db \
  -p 8888:8888 \
  togettoyou/super-signature:latest \
  --url=https://你的域名
# 运行后会挂载容器内 ios目录(存放账号和ipa文件) 和 db目录(存放sqlite文件) 到当前目录下
# https 方式部署
mkdir super-signature
cd super-signature
mkdir ssl
# 自行向服务厂商申请域名的 ssl 证书后拷贝 server.crt 和 server.key 到 ssl 目录
docker run --name super-signature \
  -v $PWD/ios:/root/super-signature/ios \
  -v $PWD/db:/root/super-signature/db \
  -v $PWD/ssl:/root/super-signature/ssl \
  -p 443:443 \
  togettoyou/super-signature:latest \
  --url=https://你的域名 \
  --port=443 \
  --crt=ssl/server.crt \
  --key=ssl/server.key

可支持阿里云 OSS 作为 IPA 下载服务

# 使用 enableOSS 开启 oss 支持
docker run --name super-signature \
  -v $PWD/ios:/root/super-signature/ios \
  -v $PWD/db:/root/super-signature/db \
  -v $PWD/ssl:/root/super-signature/ssl \
  -p 443:443 \
  togettoyou/super-signature:latest \
  --url=https://你的域名 \
  --port=443 \
  --crt=ssl/server.crt \
  --key=ssl/server.key \
  --enableOSS=true \
  --ossEndpoint=oss-cn-xxx.aliyuncs.com \
  --ossAccessKeyId=XXXXXXXXXXXXXXXXX \
  --ossAccessKeySecret=XXXXXXXXXXXXXXXXXXXX

使用 centos 7 自行编译运行

git clone https://github.com/togettoyou/super-signature.git
cd super-signature
# go 1.16+
make
yum install -y openssl openssl-devel unzip zip
cp zsign/zsign /usr/local/bin/
chmod +x /usr/local/bin/zsign
./super-signature-app -h
# http
./super-signature-app --url=https://你的域名
# https
./super-signature-app --url=https://你的域名 --port=443 --crt=ssl/server.crt --key=ssl/server.key

查看效果

访问你的域名 https://你的域名/swagger/index.html

image.png

使用说明

1、 上传苹果开发者账号信息

登陆 https://appstoreconnect.apple.com/access/api 获取p8(下载的API密钥文件内容),kid ( 密钥ID),Iss (Issuer ID):

上传:

image.png

2、 上传IPA

image.png

3、 iPhone 使用 Safari 浏览器打开 AppLink 链接

/api/v1/getAllPackage 返回数据格式说明

{
  "code": 0,
  "msg": "成功",
  "data": [
    {
      "ID": 1,
      "IconLink": "应用图标地址",
      "BundleIdentifier": "应用包名",
      "Name": "应用名称",
      "Version": "应用版本号",
      "BuildVersion": "应用BuildVersion",
      "MiniVersion": "最低支持ios版本",
      "Summary": "简介",
      "AppLink": "应用下载地址,iPhone使用Safari浏览器访问即可下载",
      "Size": "应用大小",
      "Count": "累计下载量"
    }
  ]
}

详细原理说明

语雀浏览