Salta ai contenuti

Segreti del Repository

En Parlant~ utilizza GitHub Actions per compilare i binari di rilascio per Windows, macOS e Linux. La pipeline CI necessita di credenziali per la firma del codice, la firma degli aggiornamenti, la scansione antivirus e l’URL del relay multiplayer. Queste sono archiviate come segreti del repository GitHub — valori crittografati che GitHub inietta nelle esecuzioni dei workflow ma non mostra mai.

Se fai un fork di En Parlant~ e desideri produrre le tue build firmate, dovrai configurare i tuoi segreti. Le build verranno comunque compilate senza di essi, ma i binari non saranno firmati, gli aggiornamenti non verranno verificati e il passaggio di scansione VirusTotal verrà saltato.

Azure Trusted Signing (firma del codice per Windows)

Sezione intitolata “Azure Trusted Signing (firma del codice per Windows)”

Gli utenti Windows ricevono un avviso SmartScreen (“Windows ha protetto il tuo PC”) quando eseguono un .exe non firmato. La firma del codice elimina quell’avviso e comunica a Windows che il binario proviene da un editore verificato.

En Parlant~ utilizza Azure Trusted Signing per questo scopo. La build Tauri invoca trusted-signing-cli durante il passaggio di build per Windows, che comunica con Azure per firmare l’eseguibile.

SegretoScopo
AZURE_CLIENT_IDID applicazione del service principal
AZURE_CLIENT_SECRETCredenziale del service principal
AZURE_TENANT_IDTenant Azure AD
AZURE_SUBSCRIPTION_IDSottoscrizione Azure
AZURE_CODE_SIGNING_ACCOUNTNome dell’account Trusted Signing
AZURE_CODE_SIGNING_ENDPOINTURL dell’endpoint Trusted Signing
AZURE_CODE_SIGNING_PROFILENome del profilo del certificato

Per configurarlo autonomamente: Crea un account Azure, configura una risorsa Trusted Signing, crea un profilo di certificato e registra un service principal con i permessi appropriati. La guida rapida di Trusted Signing di Microsoft illustra l’intero processo.

Se salti questo passaggio: Le build per Windows funzioneranno comunque, ma i tuoi utenti verranno accolti dal temuto SmartScreen blu della morte — lo conosci bene. Abbiamo tutti cliccato “Esegui comunque” sperando per il meglio. Le build per macOS e Linux non sono interessate.

L’updater integrato di Tauri verifica che gli aggiornamenti provengano dal vero editore, non da una fonte manomessa. Quando l’app controlla la disponibilità di una nuova versione, scarica l’aggiornamento e ne verifica la firma rispetto a una chiave pubblica incorporata nell’app. La chiave privata che crea tali firme risiede nella CI.

SegretoScopo
TAURI_PRIVATE_KEYChiave privata Ed25519 per la firma degli aggiornamenti
TAURI_KEY_PASSWORDPassword che protegge la chiave privata

Per configurarlo autonomamente: Genera una coppia di chiavi con pnpm tauri signer generate. Inserisci la chiave privata e la password nei segreti del tuo repository, e la chiave pubblica in tauri.conf.json sotto plugins.updater.pubkey.

Se salti questo passaggio: L’app viene compilata correttamente, ma l’aggiornamento automatico non funzionerà. Gli utenti dovranno scaricare manualmente le nuove versioni.

Dopo la compilazione degli artefatti di rilascio, la pipeline CI carica ogni binario (.exe, .dmg, .deb, .rpm, .AppImage) su VirusTotal per la scansione automatica del malware. Si tratta di un segnale di affidabilità — gli utenti possono verificare che le build ufficiali siano pulite.

SegretoScopo
VIRUSTOTAL_API_KEYChiave API per l’API v3 di VirusTotal

Per configurarlo autonomamente: Crea un account gratuito su VirusTotal e copia la tua chiave API dal profilo.

Se salti questo passaggio: Il passaggio di scansione VirusTotal fallisce silenziosamente. Le build vengono comunque completate e rilasciate normalmente — semplicemente non avrai risultati di scansione automatici.

L’URL del server relay multiplayer viene iniettato al momento della build affinché l’app sappia dove connettersi per le partite online.

SegretoScopo
VITE_RELAY_URLURL WebSocket per il relay multiplayer (es., wss://your-relay.fly.dev)

Per configurarlo autonomamente: Distribuisci il tuo server relay (consulta la guida alla configurazione del Server Multiplayer) e imposta questo valore sul suo URL pubblico.

Se salti questo passaggio: Il multiplayer funziona comunque se imposti l’URL del relay nelle impostazioni dell’app in fase di esecuzione. Questo segreto si limita a impostare il valore predefinito affinché gli utenti non debbano configurarlo manualmente.

Gruppo di SegretiNecessario perSi può saltare?
Azure (7 segreti)Build Windows firmateSì — le build funzionano, gli utenti ricevono l’avviso SmartScreen
Tauri (2 segreti)Aggiornamento automaticoSì — le build funzionano, nessun aggiornamento automatico
VirusTotal (1 segreto)Report di scansione malwareSì — le build funzionano, nessun risultato di scansione
URL del Relay (1 segreto)Server multiplayer predefinitoSì — gli utenti possono impostarlo nelle impostazioni dell’app

Nessuno di questi segreti è necessario per compilare ed eseguire l’app in locale. Sono rilevanti solo per le build di rilascio CI/CD.