Секреты репозитория
En Parlant~ использует GitHub Actions для сборки релизных бинарных файлов под Windows, macOS и Linux. CI-пайплайну необходимы учётные данные для подписи кода, подписи обновлений, проверки на вирусы и URL мультиплеерного relay-сервера. Они хранятся как секреты репозитория GitHub — зашифрованные значения, которые GitHub передаёт в процессы выполнения workflow, но никогда не отображает.
Если вы форкнете En Parlant~ и захотите собирать собственные подписанные сборки, вам потребуется настроить свои секреты. Сборки скомпилируются и без них, но бинарные файлы не будут подписаны, обновления не пройдут проверку, а шаг сканирования через VirusTotal будет пропущен.
Секреты
Заголовок раздела «Секреты»Azure Trusted Signing (подпись кода для Windows)
Заголовок раздела «Azure Trusted Signing (подпись кода для Windows)»Пользователи Windows видят предупреждение SmartScreen («Windows защитил ваш компьютер»), когда запускают неподписанный .exe. Подпись кода устраняет это предупреждение и сообщает Windows, что бинарный файл получен от проверенного издателя.
En Parlant~ использует Azure Trusted Signing для этого. Сборка Tauri вызывает trusted-signing-cli на этапе сборки под Windows, который обращается к Azure для подписи исполняемого файла.
| Секрет | Назначение |
|---|---|
AZURE_CLIENT_ID | ID приложения сервисного принципала |
AZURE_CLIENT_SECRET | Учётные данные сервисного принципала |
AZURE_TENANT_ID | Тенант Azure AD |
AZURE_SUBSCRIPTION_ID | Подписка Azure |
AZURE_CODE_SIGNING_ACCOUNT | Имя учётной записи Trusted Signing |
AZURE_CODE_SIGNING_ENDPOINT | URL эндпоинта Trusted Signing |
AZURE_CODE_SIGNING_PROFILE | Имя профиля сертификата |
Как настроить самостоятельно: Создайте учётную запись Azure, настройте ресурс Trusted Signing, создайте профиль сертификата и зарегистрируйте сервисный принципал с соответствующими разрешениями. Быстрый старт Trusted Signing от Microsoft описывает весь процесс.
Если пропустить этот шаг: Сборки под Windows по-прежнему будут работать, но ваших пользователей встретит тот самый ужасный синий экран SmartScreen — вы знаете, о чём речь. Все мы хоть раз нажимали «Всё равно запустить» и надеялись на лучшее. Сборки под macOS и Linux не затрагиваются.
Подпись обновлений Tauri
Заголовок раздела «Подпись обновлений Tauri»Встроенный механизм обновлений Tauri проверяет, что обновления поступают от настоящего издателя, а не из подменённого источника. Когда приложение проверяет наличие новой версии, оно загружает обновление и проверяет его подпись с помощью публичного ключа, встроенного в приложение. Приватный ключ, создающий эти подписи, хранится в CI.
| Секрет | Назначение |
|---|---|
TAURI_PRIVATE_KEY | Приватный ключ Ed25519 для подписи обновлений |
TAURI_KEY_PASSWORD | Пароль, защищающий приватный ключ |
Как настроить самостоятельно: Сгенерируйте пару ключей с помощью pnpm tauri signer generate. Поместите приватный ключ и пароль в секреты репозитория, а публичный ключ — в tauri.conf.json в раздел plugins.updater.pubkey.
Если пропустить этот шаг: Приложение соберётся без проблем, но автоматическое обновление работать не будет. Пользователям придётся загружать новые версии вручную.
VirusTotal
Заголовок раздела «VirusTotal»После сборки релизных артефактов CI-пайплайн загружает каждый бинарный файл (.exe, .dmg, .deb, .rpm, .AppImage) в VirusTotal для автоматической проверки на вредоносное ПО. Это сигнал доверия — пользователи могут убедиться, что официальные сборки чисты.
| Секрет | Назначение |
|---|---|
VIRUSTOTAL_API_KEY | API-ключ для VirusTotal v3 API |
Как настроить самостоятельно: Создайте бесплатную учётную запись VirusTotal и скопируйте ваш API-ключ из профиля.
Если пропустить этот шаг: Шаг сканирования VirusTotal завершится с тихой ошибкой. Сборки всё равно соберутся и будут выпущены — просто у вас не будет автоматизированных результатов проверки.
URL мультиплеерного relay-сервера
Заголовок раздела «URL мультиплеерного relay-сервера»URL мультиплеерного relay-сервера внедряется на этапе сборки, чтобы приложение знало, к какому серверу подключаться для онлайн-игр.
| Секрет | Назначение |
|---|---|
VITE_RELAY_URL | WebSocket URL мультиплеерного relay-сервера (например, wss://your-relay.fly.dev) |
Как настроить самостоятельно: Разверните собственный relay-сервер (см. руководство по настройке мультиплеерного сервера) и укажите его публичный URL.
Если пропустить этот шаг: Мультиплеер всё равно будет работать, если вы укажете URL relay-сервера в настройках приложения во время работы. Этот секрет лишь задаёт значение по умолчанию, чтобы пользователям не приходилось настраивать его вручную.
| Группа секретов | Для чего требуется | Можно ли пропустить? |
|---|---|---|
| Azure (7 секретов) | Подписанные сборки под Windows | Да — сборки работают, пользователи увидят предупреждение SmartScreen |
| Tauri (2 секрета) | Автоматическое обновление | Да — сборки работают, автообновление недоступно |
| VirusTotal (1 секрет) | Отчёты о проверке на вредоносное ПО | Да — сборки работают, результатов проверки не будет |
| Relay URL (1 секрет) | Мультиплеерный сервер по умолчанию | Да — пользователи могут указать URL в настройках приложения |
Ни один из этих секретов не требуется для локальной сборки и запуска приложения. Они имеют значение только для CI/CD-сборок релизов.