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.
I Segreti
Sezione intitolata “I Segreti”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.
| Segreto | Scopo |
|---|---|
AZURE_CLIENT_ID | ID applicazione del service principal |
AZURE_CLIENT_SECRET | Credenziale del service principal |
AZURE_TENANT_ID | Tenant Azure AD |
AZURE_SUBSCRIPTION_ID | Sottoscrizione Azure |
AZURE_CODE_SIGNING_ACCOUNT | Nome dell’account Trusted Signing |
AZURE_CODE_SIGNING_ENDPOINT | URL dell’endpoint Trusted Signing |
AZURE_CODE_SIGNING_PROFILE | Nome 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.
Firma degli Aggiornamenti Tauri
Sezione intitolata “Firma degli Aggiornamenti Tauri”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.
| Segreto | Scopo |
|---|---|
TAURI_PRIVATE_KEY | Chiave privata Ed25519 per la firma degli aggiornamenti |
TAURI_KEY_PASSWORD | Password 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.
VirusTotal
Sezione intitolata “VirusTotal”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.
| Segreto | Scopo |
|---|---|
VIRUSTOTAL_API_KEY | Chiave 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.
URL del Relay Multiplayer
Sezione intitolata “URL del Relay Multiplayer”L’URL del server relay multiplayer viene iniettato al momento della build affinché l’app sappia dove connettersi per le partite online.
| Segreto | Scopo |
|---|---|
VITE_RELAY_URL | URL 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.
Riepilogo
Sezione intitolata “Riepilogo”| Gruppo di Segreti | Necessario per | Si può saltare? |
|---|---|---|
| Azure (7 segreti) | Build Windows firmate | Sì — le build funzionano, gli utenti ricevono l’avviso SmartScreen |
| Tauri (2 segreti) | Aggiornamento automatico | Sì — le build funzionano, nessun aggiornamento automatico |
| VirusTotal (1 segreto) | Report di scansione malware | Sì — le build funzionano, nessun risultato di scansione |
| URL del Relay (1 segreto) | Server multiplayer predefinito | Sì — 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.