Przejdź do głównej zawartości

Sekrety repozytorium

En Parlant~ wykorzystuje GitHub Actions do budowania plików binarnych dla systemów Windows, macOS i Linux. Pipeline CI potrzebuje poświadczeń do podpisywania kodu, podpisywania aktualizacji, skanowania antywirusowego oraz adresu URL serwera relay dla trybu wieloosobowego. Są one przechowywane jako sekrety repozytorium GitHub — zaszyfrowane wartości, które GitHub wstrzykuje do przebiegów workflow, ale nigdy nie wyświetla.

Jeśli forkujesz En Parlant~ i chcesz tworzyć własne podpisane kompilacje, musisz skonfigurować własne sekrety. Kompilacje powiedzie się również bez nich, ale pliki binarne nie będą podpisane, aktualizacje nie przejdą weryfikacji, a krok skanowania VirusTotal zostanie pominięty.

Użytkownicy systemu Windows otrzymują ostrzeżenie SmartScreen („Windows protected your PC”), gdy uruchamiają niepodpisany plik .exe. Podpisywanie kodu eliminuje to ostrzeżenie i informuje system Windows, że plik binarny pochodzi od zweryfikowanego wydawcy.

En Parlant~ używa do tego celu Azure Trusted Signing. Kompilacja Tauri wywołuje trusted-signing-cli podczas kroku budowania dla Windows, który komunikuje się z Azure w celu podpisania pliku wykonywalnego.

SekretPrzeznaczenie
AZURE_CLIENT_IDIdentyfikator aplikacji service principal
AZURE_CLIENT_SECRETPoświadczenie service principal
AZURE_TENANT_IDTenant Azure AD
AZURE_SUBSCRIPTION_IDSubskrypcja Azure
AZURE_CODE_SIGNING_ACCOUNTNazwa konta Trusted Signing
AZURE_CODE_SIGNING_ENDPOINTURL endpointu Trusted Signing
AZURE_CODE_SIGNING_PROFILENazwa profilu certyfikatu

Jak skonfigurować własne: Utwórz konto Azure, skonfiguruj zasób Trusted Signing, utwórz profil certyfikatu i zarejestruj service principal z odpowiednimi uprawnieniami. Przewodnik szybkiego startu Trusted Signing od Microsoft przeprowadzi Cię przez cały proces.

Jeśli to pominiesz: Kompilacje dla Windows nadal działają, ale Twoich użytkowników powita przerażający niebieski ekran SmartScreen — ten, który wszyscy znamy. Każdy z nas kiedyś kliknął „Uruchom mimo to” i miał nadzieję, że wszystko będzie dobrze. Kompilacje dla macOS i Linux pozostają bez zmian.

Wbudowany mechanizm aktualizacji Tauri weryfikuje, czy aktualizacje pochodzą od prawdziwego wydawcy, a nie z podrobionego źródła. Gdy aplikacja sprawdza dostępność nowej wersji, pobiera aktualizację i weryfikuje jej podpis względem klucza publicznego osadzonego w aplikacji. Klucz prywatny tworzący te podpisy znajduje się w CI.

SekretPrzeznaczenie
TAURI_PRIVATE_KEYKlucz prywatny Ed25519 do podpisywania aktualizacji
TAURI_KEY_PASSWORDHasło chroniące klucz prywatny

Jak skonfigurować własne: Wygeneruj parę kluczy za pomocą pnpm tauri signer generate. Umieść klucz prywatny i hasło w sekretach repozytorium, a klucz publiczny w tauri.conf.json pod plugins.updater.pubkey.

Jeśli to pominiesz: Aplikacja kompiluje się bez problemów, ale automatyczny mechanizm aktualizacji nie będzie działał. Użytkownicy będą musieli pobierać nowe wersje ręcznie.

Po zbudowaniu artefaktów wydania pipeline CI przesyła każdy plik binarny (.exe, .dmg, .deb, .rpm, .AppImage) do VirusTotal w celu automatycznego skanowania pod kątem złośliwego oprogramowania. To sygnał zaufania — użytkownicy mogą zweryfikować, że oficjalne kompilacje są czyste.

SekretPrzeznaczenie
VIRUSTOTAL_API_KEYKlucz API dla VirusTotal v3 API

Jak skonfigurować własny: Utwórz darmowe konto VirusTotal i skopiuj swój klucz API ze swojego profilu.

Jeśli to pominiesz: Krok skanowania VirusTotal kończy się cichym niepowodzeniem. Kompilacje nadal się udają i są publikowane normalnie — po prostu nie będziesz mieć automatycznych wyników skanowania.

URL serwera relay dla trybu wieloosobowego jest wstrzykiwany w czasie kompilacji, aby aplikacja wiedziała, gdzie łączyć się w celu gry online.

SekretPrzeznaczenie
VITE_RELAY_URLURL WebSocket serwera relay dla trybu wieloosobowego (np. wss://your-relay.fly.dev)

Jak skonfigurować własny: Wdróż własny serwer relay (zobacz przewodnik konfiguracji serwera wieloosobowego) i ustaw ten sekret na jego publiczny URL.

Jeśli to pominiesz: Tryb wieloosobowy nadal działa, jeśli ustawisz URL serwera relay w ustawieniach aplikacji w czasie działania. Ten sekret ustawia jedynie wartość domyślną, aby użytkownicy nie musieli konfigurować tego ręcznie.

Grupa sekretówWymagane doCzy można pominąć?
Azure (7 sekretów)Podpisane kompilacje dla WindowsTak — kompilacje działają, użytkownicy otrzymują ostrzeżenie SmartScreen
Tauri (2 sekrety)Automatyczne aktualizacjeTak — kompilacje działają, brak automatycznych aktualizacji
VirusTotal (1 sekret)Raporty ze skanowania pod kątem złośliwego oprogramowaniaTak — kompilacje działają, brak wyników skanowania
URL serwera relay (1 sekret)Domyślny serwer wieloosobowyTak — użytkownicy mogą ustawić go w ustawieniach aplikacji

Żaden z tych sekretów nie jest wymagany do lokalnego budowania i uruchamiania aplikacji. Mają one znaczenie wyłącznie dla kompilacji wydań CI/CD.