134 lines
4.6 KiB
Markdown
134 lines
4.6 KiB
Markdown
# EnvHelper
|
|
|
|
**EnvHelper** ist eine lokale Windows-Desktop-App zum Ausfüllen von `.env` Vorlagen. Sie erkennt `CHANGE_ME` Platzhalter, erzeugt passende Werte im erwarteten Format und gibt eine fertige `.env` aus.
|
|
|
|
```text
|
|
Status: Desktop App
|
|
Plattform: Windows
|
|
Stack: Electron, React, Vite, TypeScript
|
|
Build: Gitea Actions Runner
|
|
```
|
|
|
|
## Highlights
|
|
|
|
- `.env` Datei laden oder reinen Text einfügen
|
|
- `CHANGE_ME...` Platzhalter automatisch erkennen
|
|
- Passwörter, Secrets, Base64-Keys, UUIDs, Ports, URLs und E-Mails heuristisch erzeugen
|
|
- Gleiche Placeholder konsistent mit demselben Wert ersetzen
|
|
- Standardwerte pro Key definieren und im Output überschreiben lassen
|
|
- Hell/Dunkel/System Theme
|
|
- Einstellungen mit Sprache, Version und Projektinfos
|
|
- Ausgabe kopieren oder als neue `.env` speichern
|
|
|
|
## Vorschau
|
|
|
|
Screenshots können später im Repository ergänzt werden.
|
|
|
|
```text
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ EnvHelper Datei laden .env speichern Theme Settings │
|
|
├─────────────────────────────┬───────────────────────────────┤
|
|
│ Input │ Output │
|
|
│ DATABASE_URL=...CHANGE_ME │ DATABASE_URL=...generated... │
|
|
├─────────────────────────────┴───────────────────────────────┤
|
|
│ Standardwerte Erkannte Anforderungen │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Beispiel
|
|
|
|
Eingabe:
|
|
|
|
```env
|
|
DATABASE_URL=postgresql://hilden_app:CHANGE_ME_POSTGRES_PASSWORD@postgres:5432/hilden_directory
|
|
POSTGRES_PASSWORD=CHANGE_ME_POSTGRES_PASSWORD
|
|
SESSION_SECRET=CHANGE_ME_AT_LEAST_32_RANDOM_CHARACTERS
|
|
ENCRYPTION_KEY_BASE64=CHANGE_ME_32_RANDOM_BYTES_AS_BASE64
|
|
BOOTSTRAP_ADMIN_EMAIL=admin@example.local
|
|
```
|
|
|
|
Ausgabe:
|
|
|
|
```env
|
|
DATABASE_URL=postgresql://hilden_app:generated-postgres-password@postgres:5432/hilden_directory
|
|
POSTGRES_PASSWORD=generated-postgres-password
|
|
SESSION_SECRET=generated-url-safe-secret
|
|
ENCRYPTION_KEY_BASE64=generated-base64-key
|
|
BOOTSTRAP_ADMIN_EMAIL=admin@example.local
|
|
```
|
|
|
|
Die tatsächlichen Werte werden zufällig lokal erzeugt.
|
|
|
|
## Standardwerte
|
|
|
|
Standardwerte werden in einer eigenen Sektion gepflegt. Wenn ein Key dort eingetragen ist, überschreibt der Wert den entsprechenden Output-Key.
|
|
|
|
Beispiel:
|
|
|
|
```text
|
|
BOOTSTRAP_ADMIN_EMAIL = admin@example.local
|
|
```
|
|
|
|
Dann wird im Output immer dieser Wert gesetzt, auch wenn die Vorlage bereits eine andere E-Mail enthält.
|
|
|
|
## Sicherheit
|
|
|
|
EnvHelper arbeitet lokal. Die Werte werden im Renderer mit Web-Crypto erzeugt und nicht an externe Dienste gesendet. Die App ist ein Helfer für Vorlagen, ersetzt aber keine zentrale Secret-Verwaltung für produktive Infrastruktur.
|
|
|
|
### Windows Defender und SmartScreen
|
|
|
|
Windows kann unsignierte `.exe` Dateien als unbekannten Herausgeber einstufen. Das ist kein EnvHelper-spezifischer Fehler, sondern die normale Windows-Sicherheitsprüfung für Apps ohne vertrauenswürdige Authenticode-Signatur.
|
|
|
|
Für signierte Builds kann der Gitea Runner später diese Secrets verwenden:
|
|
|
|
```text
|
|
WINDOWS_CSC_LINK
|
|
WINDOWS_CSC_KEY_PASSWORD
|
|
```
|
|
|
|
`WINDOWS_CSC_LINK` ist das Code-Signing-Zertifikat, zum Beispiel als Base64-kodierte `.pfx` Datei oder als erreichbare Zertifikats-URL. `WINDOWS_CSC_KEY_PASSWORD` ist das Passwort des Zertifikats. Ohne ein gültiges Code-Signing-Zertifikat bleibt der Herausgeber für Windows unbekannt.
|
|
|
|
## Download und Artefakte
|
|
|
|
Der Windows-Build erzeugt zwei Dateien:
|
|
|
|
- `EnvHelper-0.1.0-setup-x64.exe`
|
|
- `EnvHelper-0.1.0-portable-x64.exe`
|
|
|
|
Die Dateien werden vom Gitea Runner als Actions-Artefakt und als Generic Package veröffentlicht.
|
|
|
|
## Entwicklung
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
In einem zweiten Terminal kann der Electron-Build geprüft werden:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
## Windows Build
|
|
|
|
Der Windows-Build läuft über Gitea Actions und nutzt den Linux Runner mit Wine:
|
|
|
|
```bash
|
|
npm run dist:win
|
|
```
|
|
|
|
Workflow:
|
|
|
|
```text
|
|
.gitea/workflows/build-windows.yml
|
|
```
|
|
|
|
Der Runner installiert Node.js, Wine, baut die App mit Electron Builder und lädt die fertigen `.exe` Artefakte hoch.
|
|
|
|
## Projektinfos
|
|
|
|
- Autor: `MrSphay`
|
|
- Repository: `MrSphay/envHelper`
|
|
- App-ID: `de.wilkensxl.envhelper`
|