Pular para o conteúdo

Segredos do Repositório

O En Parlant~ utiliza GitHub Actions para compilar os binários de lançamento para Windows, macOS e Linux. O pipeline de CI necessita de credenciais para assinatura de código, assinatura de atualizações, análise de vírus e o URL do servidor de retransmissão multijogador. Estes são armazenados como segredos do repositório GitHub — valores encriptados que o GitHub injeta nas execuções dos workflows, mas que nunca exibe.

Se fizer um fork do En Parlant~ e quiser produzir as suas próprias compilações assinadas, terá de configurar os seus próprios segredos. As compilações continuarão a funcionar sem eles, mas os binários não serão assinados, as atualizações não serão verificadas e o passo de análise do VirusTotal será ignorado.

Azure Trusted Signing (assinatura de código para Windows)

Seção intitulada “Azure Trusted Signing (assinatura de código para Windows)”

Os utilizadores de Windows recebem um aviso do SmartScreen (“Windows protected your PC”) quando executam um .exe não assinado. A assinatura de código elimina esse aviso e indica ao Windows que o binário provém de um editor verificado.

O En Parlant~ utiliza o Azure Trusted Signing para este efeito. A compilação Tauri invoca o trusted-signing-cli durante o passo de compilação para Windows, que comunica com o Azure para assinar o executável.

SegredoFinalidade
AZURE_CLIENT_IDID da aplicação do service principal
AZURE_CLIENT_SECRETCredencial do service principal
AZURE_TENANT_IDTenant do Azure AD
AZURE_SUBSCRIPTION_IDSubscrição do Azure
AZURE_CODE_SIGNING_ACCOUNTNome da conta de Trusted Signing
AZURE_CODE_SIGNING_ENDPOINTURL do endpoint de Trusted Signing
AZURE_CODE_SIGNING_PROFILENome do perfil de certificado

Para configurar o seu próprio: Crie uma conta Azure, configure um recurso de Trusted Signing, crie um perfil de certificado e registe um service principal com as permissões adequadas. O guia de início rápido do Trusted Signing da Microsoft orienta-o ao longo do processo.

Se ignorar este passo: As compilações para Windows continuam a funcionar, mas os seus utilizadores serão recebidos pelo temido ecrã azul do SmartScreen — todos o conhecemos. Todos já clicámos em “Run anyway” e esperámos pelo melhor. As compilações para macOS e Linux não são afetadas.

O atualizador integrado do Tauri verifica que as atualizações provêm do editor real, e não de uma fonte adulterada. Quando a aplicação verifica se existe uma nova versão, descarrega a atualização e verifica a sua assinatura contra uma chave pública incorporada na aplicação. A chave privada que cria essas assinaturas reside no CI.

SegredoFinalidade
TAURI_PRIVATE_KEYChave privada Ed25519 para assinar atualizações
TAURI_KEY_PASSWORDPalavra-passe que protege a chave privada

Para configurar o seu próprio: Gere um par de chaves com pnpm tauri signer generate. Coloque a chave privada e a palavra-passe nos segredos do seu repositório, e a chave pública em tauri.conf.json sob plugins.updater.pubkey.

Se ignorar este passo: A aplicação compila sem problemas, mas o atualizador automático não funcionará. Os utilizadores terão de descarregar as novas versões manualmente.

Após compilar os artefactos de lançamento, o pipeline de CI carrega todos os binários (.exe, .dmg, .deb, .rpm, .AppImage) para o VirusTotal para análise automatizada de malware. Isto é um sinal de confiança — os utilizadores podem verificar que as compilações oficiais estão limpas.

SegredoFinalidade
VIRUSTOTAL_API_KEYChave de API para a API v3 do VirusTotal

Para configurar o seu próprio: Crie uma conta gratuita no VirusTotal e copie a sua chave de API a partir do seu perfil.

Se ignorar este passo: O passo de análise do VirusTotal falha silenciosamente. As compilações continuam a ser bem-sucedidas e são publicadas normalmente — apenas não terá resultados de análise automatizados.

O URL do servidor de retransmissão multijogador é injetado no momento da compilação para que a aplicação saiba onde se ligar para jogos online.

SegredoFinalidade
VITE_RELAY_URLURL WebSocket para o servidor de retransmissão multijogador (ex.: wss://your-relay.fly.dev)

Para configurar o seu próprio: Implemente o seu próprio servidor de retransmissão (consulte o guia de configuração do Servidor Multijogador) e defina este segredo com o URL público do mesmo.

Se ignorar este passo: O modo multijogador continua a funcionar se definir o URL do servidor de retransmissão nas definições da aplicação em tempo de execução. Este segredo apenas define o valor predefinido para que os utilizadores não tenham de o configurar manualmente.

Grupo de SegredosNecessário paraPode ser ignorado?
Azure (7 segredos)Compilações assinadas para WindowsSim — as compilações funcionam, os utilizadores recebem o aviso do SmartScreen
Tauri (2 segredos)Atualizador automáticoSim — as compilações funcionam, sem atualização automática
VirusTotal (1 segredo)Relatórios de análise de malwareSim — as compilações funcionam, sem resultados de análise
URL do servidor de retransmissão (1 segredo)Servidor multijogador predefinidoSim — os utilizadores podem defini-lo nas definições da aplicação

Nenhum destes segredos é necessário para compilar e executar a aplicação localmente. Apenas são relevantes para compilações de lançamento via CI/CD.