ZStore

Self-hosted IPA signing

Подпишите приложение.
Откройте ссылку на iPhone.

Отправьте боту сертификат, профиль и IPA — получите уникальную страницу установки с карточкой приложения, OTA-кнопкой и скачиванием файла.

1

Три файла в Telegram

P12, MobileProvision и IPA. Бот сам определяет тип, держит файлы в изолированной задаче и спрашивает пароль отдельно.

2

Полная подпись бандла

Подписываются не только главный .app, но и Frameworks, dylib, PlugIns, Extensions и Watch — через zsign на Ubuntu.

3

Страница, не голый IPA

Ссылка вида /install/… открывает карточку: иконка, версия, Bundle ID, размер, сертификат, установка и скачивание.

Безопасность сертификата

  • P12 и пароль не попадают в Git, публичную папку и базу
  • Пароль не пишется в логи и не цитируется ботом
  • Ключ извлекается в память и временный PEM с правами 0600
  • После задачи временный каталог полностью уничтожается
  • Публичными остаются только IPA, иконка и manifest.plist

Ссылки без перебора

Идентификаторы случайные и длинные. Просроченные сборки удаляются вместе с файлами. Nginx не отдаёт пути с ...

https://install.zstoreplus.ru/install/xK91mQe2nL0aRw

Срок жизни ссылки задаётся в конфигурации, по умолчанию 7 дней.