Перейти до вмісту

Секрети репозиторію

En Parlant~ використовує GitHub Actions для збирання релізних бінарних файлів для Windows, macOS та Linux. CI-конвеєру потрібні облікові дані для підпису коду, підпису оновлень, перевірки на віруси та URL мультиплеєрного релей-сервера. Вони зберігаються як секрети репозиторію GitHub — зашифровані значення, які GitHub передає у виконання воркфлоу, але ніколи не відображає.

Якщо ви зробите форк En Parlant~ і захочете створювати власні підписані збірки, вам потрібно буде налаштувати власні секрети. Збірки скомпілюються і без них, але бінарні файли не будуть підписані, оновлення не пройдуть перевірку, а крок сканування VirusTotal буде пропущений.

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_ENDPOINTURL-адреса кінцевої точки Trusted Signing
AZURE_CODE_SIGNING_PROFILEНазва профілю сертифіката

Як налаштувати самостійно: Створіть обліковий запис Azure, налаштуйте ресурс Trusted Signing, створіть профіль сертифіката та зареєструйте сервісний принципал з відповідними дозволами. Швидкий старт Trusted Signing від Microsoft описує весь процес.

Якщо пропустити цей крок: Збірки для Windows все одно працюватимуть, але ваших користувачів зустрічатиме жахливий синій екран SmartScreen — ви знаєте, який саме. Ми всі натискали «Все одно запустити» і сподівалися на краще. Збірки для macOS та Linux не постраждають.

Вбудований механізм оновлення Tauri перевіряє, що оновлення надходять від справжнього видавця, а не з підробленого джерела. Коли додаток перевіряє наявність нової версії, він завантажує оновлення та верифікує його підпис за допомогою відкритого ключа, вбудованого в додаток. Закритий ключ, що створює ці підписи, зберігається в CI.

СекретПризначення
TAURI_PRIVATE_KEYЗакритий ключ Ed25519 для підпису оновлень
TAURI_KEY_PASSWORDПароль для захисту закритого ключа

Як налаштувати самостійно: Згенеруйте пару ключів за допомогою pnpm tauri signer generate. Помістіть закритий ключ і пароль у секрети вашого репозиторію, а відкритий ключ — у tauri.conf.json за шляхом plugins.updater.pubkey.

Якщо пропустити цей крок: Додаток збирається нормально, але автоматичне оновлення не працюватиме. Користувачам доведеться завантажувати нові версії вручну.

Після збирання релізних артефактів CI-конвеєр завантажує кожен бінарний файл (.exe, .dmg, .deb, .rpm, .AppImage) на VirusTotal для автоматичного сканування на шкідливе ПЗ. Це сигнал довіри — користувачі можуть переконатися, що офіційні збірки є чистими.

СекретПризначення
VIRUSTOTAL_API_KEYAPI-ключ для VirusTotal v3 API

Як налаштувати самостійно: Створіть безкоштовний обліковий запис VirusTotal і скопіюйте ваш API-ключ з профілю.

Якщо пропустити цей крок: Крок сканування VirusTotal завершиться з тихою помилкою. Збірки все одно пройдуть успішно та будуть опубліковані як зазвичай — просто у вас не буде автоматичних результатів сканування.

URL мультиплеєрного релей-сервера

Section titled “URL мультиплеєрного релей-сервера”

URL мультиплеєрного релей-сервера передається під час збирання, щоб додаток знав, куди підключатися для онлайн-ігор.

СекретПризначення
VITE_RELAY_URLWebSocket URL для мультиплеєрного релей-сервера (наприклад, wss://your-relay.fly.dev)

Як налаштувати самостійно: Розгорніть власний релей-сервер (див. посібник з налаштування мультиплеєрного сервера) і вкажіть його публічну URL-адресу.

Якщо пропустити цей крок: Мультиплеєр все одно працюватиме, якщо ви вкажете URL релей-сервера в налаштуваннях додатку під час роботи. Цей секрет лише задає значення за замовчуванням, щоб користувачам не доводилося налаштовувати його вручну.

Група секретівПотрібна дляЧи можна пропустити?
Azure (7 секретів)Підписаних збірок для WindowsТак — збірки працюють, користувачі отримують попередження SmartScreen
Tauri (2 секрети)Автоматичного оновленняТак — збірки працюють, автооновлення не буде
VirusTotal (1 секрет)Звітів про сканування на шкідливе ПЗТак — збірки працюють, результатів сканування не буде
URL релей-сервера (1 секрет)Мультиплеєрного сервера за замовчуваннямТак — користувачі можуть вказати його в налаштуваннях додатку

Жоден із цих секретів не потрібен для локального збирання та запуску додатку. Вони мають значення лише для CI/CD релізних збірок.