Секрети репозиторію
En Parlant~ використовує GitHub Actions для збирання релізних бінарних файлів для Windows, macOS та Linux. CI-конвеєру потрібні облікові дані для підпису коду, підпису оновлень, перевірки на віруси та URL мультиплеєрного релей-сервера. Вони зберігаються як секрети репозиторію GitHub — зашифровані значення, які GitHub передає у виконання воркфлоу, але ніколи не відображає.
Якщо ви зробите форк En Parlant~ і захочете створювати власні підписані збірки, вам потрібно буде налаштувати власні секрети. Збірки скомпілюються і без них, але бінарні файли не будуть підписані, оновлення не пройдуть перевірку, а крок сканування VirusTotal буде пропущений.
Секрети
Section titled “Секрети”Azure Trusted Signing (підпис коду для Windows)
Section titled “Azure Trusted Signing (підпис коду для Windows)”Користувачі Windows отримують попередження SmartScreen («Windows захистив ваш ПК»), коли запускають непідписаний .exe. Підпис коду усуває це попередження і повідомляє Windows, що бінарний файл походить від перевіреного видавця.
En Parlant~ використовує Azure Trusted Signing для цього. Збірка Tauri викликає trusted-signing-cli під час кроку збирання для Windows, який звертається до Azure для підпису виконуваного файлу.
| Секрет | Призначення |
|---|---|
AZURE_CLIENT_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
Section titled “Підпис оновлень Tauri”Вбудований механізм оновлення Tauri перевіряє, що оновлення надходять від справжнього видавця, а не з підробленого джерела. Коли додаток перевіряє наявність нової версії, він завантажує оновлення та верифікує його підпис за допомогою відкритого ключа, вбудованого в додаток. Закритий ключ, що створює ці підписи, зберігається в CI.
| Секрет | Призначення |
|---|---|
TAURI_PRIVATE_KEY | Закритий ключ Ed25519 для підпису оновлень |
TAURI_KEY_PASSWORD | Пароль для захисту закритого ключа |
Як налаштувати самостійно: Згенеруйте пару ключів за допомогою pnpm tauri signer generate. Помістіть закритий ключ і пароль у секрети вашого репозиторію, а відкритий ключ — у tauri.conf.json за шляхом plugins.updater.pubkey.
Якщо пропустити цей крок: Додаток збирається нормально, але автоматичне оновлення не працюватиме. Користувачам доведеться завантажувати нові версії вручну.
VirusTotal
Section titled “VirusTotal”Після збирання релізних артефактів CI-конвеєр завантажує кожен бінарний файл (.exe, .dmg, .deb, .rpm, .AppImage) на VirusTotal для автоматичного сканування на шкідливе ПЗ. Це сигнал довіри — користувачі можуть переконатися, що офіційні збірки є чистими.
| Секрет | Призначення |
|---|---|
VIRUSTOTAL_API_KEY | API-ключ для VirusTotal v3 API |
Як налаштувати самостійно: Створіть безкоштовний обліковий запис VirusTotal і скопіюйте ваш API-ключ з профілю.
Якщо пропустити цей крок: Крок сканування VirusTotal завершиться з тихою помилкою. Збірки все одно пройдуть успішно та будуть опубліковані як зазвичай — просто у вас не буде автоматичних результатів сканування.
URL мультиплеєрного релей-сервера
Section titled “URL мультиплеєрного релей-сервера”URL мультиплеєрного релей-сервера передається під час збирання, щоб додаток знав, куди підключатися для онлайн-ігор.
| Секрет | Призначення |
|---|---|
VITE_RELAY_URL | WebSocket URL для мультиплеєрного релей-сервера (наприклад, wss://your-relay.fly.dev) |
Як налаштувати самостійно: Розгорніть власний релей-сервер (див. посібник з налаштування мультиплеєрного сервера) і вкажіть його публічну URL-адресу.
Якщо пропустити цей крок: Мультиплеєр все одно працюватиме, якщо ви вкажете URL релей-сервера в налаштуваннях додатку під час роботи. Цей секрет лише задає значення за замовчуванням, щоб користувачам не доводилося налаштовувати його вручну.
Підсумок
Section titled “Підсумок”| Група секретів | Потрібна для | Чи можна пропустити? |
|---|---|---|
| Azure (7 секретів) | Підписаних збірок для Windows | Так — збірки працюють, користувачі отримують попередження SmartScreen |
| Tauri (2 секрети) | Автоматичного оновлення | Так — збірки працюють, автооновлення не буде |
| VirusTotal (1 секрет) | Звітів про сканування на шкідливе ПЗ | Так — збірки працюють, результатів сканування не буде |
| URL релей-сервера (1 секрет) | Мультиплеєрного сервера за замовчуванням | Так — користувачі можуть вказати його в налаштуваннях додатку |
Жоден із цих секретів не потрібен для локального збирання та запуску додатку. Вони мають значення лише для CI/CD релізних збірок.