Repository-Secrets
En Parlant~ verwendet GitHub Actions, um Release-Binärdateien für Windows, macOS und Linux zu erstellen. Die CI-Pipeline benötigt Anmeldedaten für Code-Signierung, Update-Signierung, Virenscans und die Multiplayer-Relay-URL. Diese werden als GitHub Repository Secrets gespeichert – verschlüsselte Werte, die GitHub in Workflow-Durchläufe injiziert, aber niemals anzeigt.
Wenn Sie En Parlant~ forken und eigene signierte Builds erstellen möchten, müssen Sie Ihre eigenen Secrets einrichten. Die Builds lassen sich auch ohne diese kompilieren, aber die Binärdateien werden nicht signiert, Updates können nicht verifiziert werden und der VirusTotal-Scan-Schritt wird übersprungen.
Die Secrets
Abschnitt betitelt „Die Secrets“Azure Trusted Signing (Windows-Code-Signierung)
Abschnitt betitelt „Azure Trusted Signing (Windows-Code-Signierung)“Windows-Benutzer erhalten eine SmartScreen-Warnung („Der Computer wurde durch Windows geschützt”), wenn sie eine unsignierte .exe ausführen. Code-Signierung beseitigt diese Warnung und teilt Windows mit, dass die Binärdatei von einem verifizierten Herausgeber stammt.
En Parlant~ verwendet Azure Trusted Signing dafür. Der Tauri-Build ruft trusted-signing-cli während des Windows-Build-Schritts auf, das mit Azure kommuniziert, um die ausführbare Datei zu signieren.
| Secret | Zweck |
|---|---|
AZURE_CLIENT_ID | App-ID des Dienstprinzipals |
AZURE_CLIENT_SECRET | Anmeldedaten des Dienstprinzipals |
AZURE_TENANT_ID | Azure AD-Mandant |
AZURE_SUBSCRIPTION_ID | Azure-Abonnement |
AZURE_CODE_SIGNING_ACCOUNT | Name des Trusted Signing-Kontos |
AZURE_CODE_SIGNING_ENDPOINT | Trusted Signing-Endpunkt-URL |
AZURE_CODE_SIGNING_PROFILE | Name des Zertifikatprofils |
So richten Sie es selbst ein: Erstellen Sie ein Azure-Konto, richten Sie eine Trusted Signing-Ressource ein, erstellen Sie ein Zertifikatprofil und registrieren Sie einen Dienstprinzipal mit den entsprechenden Berechtigungen. Microsofts Trusted Signing-Schnellstart führt durch den Prozess.
Wenn Sie dies überspringen: Windows-Builds funktionieren weiterhin, aber Ihre Benutzer werden vom gefürchteten blauen SmartScreen-Todesdialog begrüßt – Sie kennen ihn. Wir haben alle schon auf „Trotzdem ausführen” geklickt und auf das Beste gehofft. macOS- und Linux-Builds sind davon nicht betroffen.
Tauri Update-Signierung
Abschnitt betitelt „Tauri Update-Signierung“Der integrierte Updater von Tauri überprüft, ob Updates vom echten Herausgeber stammen und nicht aus einer manipulierten Quelle. Wenn die App nach einer neuen Version sucht, lädt sie das Update herunter und verifiziert dessen Signatur anhand eines öffentlichen Schlüssels, der in die App eingebettet ist. Der private Schlüssel, der diese Signaturen erstellt, befindet sich in der CI.
| Secret | Zweck |
|---|---|
TAURI_PRIVATE_KEY | Ed25519-Privatschlüssel zum Signieren von Updates |
TAURI_KEY_PASSWORD | Passwort zum Schutz des Privatschlüssels |
So richten Sie es selbst ein: Generieren Sie ein Schlüsselpaar mit pnpm tauri signer generate. Hinterlegen Sie den privaten Schlüssel und das Passwort in Ihren Repository-Secrets und den öffentlichen Schlüssel in tauri.conf.json unter plugins.updater.pubkey.
Wenn Sie dies überspringen: Die App lässt sich problemlos erstellen, aber der automatische Updater funktioniert nicht. Benutzer müssten neue Versionen manuell herunterladen.
VirusTotal
Abschnitt betitelt „VirusTotal“Nach dem Erstellen der Release-Artefakte lädt die CI-Pipeline jede Binärdatei (.exe, .dmg, .deb, .rpm, .AppImage) zu VirusTotal für automatisierte Malware-Scans hoch. Dies ist ein Vertrauenssignal – Benutzer können überprüfen, dass die offiziellen Builds sauber sind.
| Secret | Zweck |
|---|---|
VIRUSTOTAL_API_KEY | API-Schlüssel für die VirusTotal v3 API |
So richten Sie es selbst ein: Erstellen Sie ein kostenloses VirusTotal-Konto und kopieren Sie Ihren API-Schlüssel aus Ihrem Profil.
Wenn Sie dies überspringen: Der VirusTotal-Scan-Schritt schlägt stillschweigend fehl. Builds werden weiterhin erfolgreich erstellt und normal veröffentlicht – Sie haben lediglich keine automatisierten Scan-Ergebnisse.
Multiplayer-Relay-URL
Abschnitt betitelt „Multiplayer-Relay-URL“Die URL des Multiplayer-Relay-Servers wird zur Build-Zeit injiziert, damit die App weiß, wohin sie sich für Online-Spiele verbinden soll.
| Secret | Zweck |
|---|---|
VITE_RELAY_URL | WebSocket-URL für den Multiplayer-Relay (z. B. wss://your-relay.fly.dev) |
So richten Sie es selbst ein: Deployen Sie Ihren eigenen Relay-Server (siehe die Anleitung zur Einrichtung des Multiplayer-Servers) und setzen Sie diesen Wert auf dessen öffentliche URL.
Wenn Sie dies überspringen: Multiplayer funktioniert weiterhin, wenn Sie die Relay-URL zur Laufzeit in den App-Einstellungen festlegen. Dieses Secret setzt lediglich den Standardwert, damit Benutzer es nicht manuell konfigurieren müssen.
Zusammenfassung
Abschnitt betitelt „Zusammenfassung“| Secret-Gruppe | Erforderlich für | Kann man es überspringen? |
|---|---|---|
| Azure (7 Secrets) | Signierte Windows-Builds | Ja – Builds funktionieren, Benutzer erhalten SmartScreen-Warnung |
| Tauri (2 Secrets) | Automatischer Updater | Ja – Builds funktionieren, kein Auto-Update |
| VirusTotal (1 Secret) | Malware-Scan-Berichte | Ja – Builds funktionieren, keine Scan-Ergebnisse |
| Relay-URL (1 Secret) | Standard-Multiplayer-Server | Ja – Benutzer können es in den App-Einstellungen festlegen |
Keines dieser Secrets ist erforderlich, um die App lokal zu erstellen und auszuführen. Sie sind nur für CI/CD-Release-Builds relevant.