EnvHelper
Lokale Windows-App zum sauberen Ausfuellen von .env-Vorlagen.
Inhalt
- Kurzbeschreibung
- Features
- Workflow
- Beispiel
- Erkennung
- Standardwerte
- Download und Artefakte
- Entwicklung
- Windows Build
- Sicherheit
- Projektinfos
Kurzbeschreibung
EnvHelper liest .env-Dateien oder reinen Text ein, erkennt CHANGE_ME-Platzhalter und erzeugt passende Werte im erwarteten Format. Gleiche Platzhalter erhalten denselben Wert, damit zusammenhaengende Variablen wie DATABASE_URL und POSTGRES_PASSWORD synchron bleiben.
Die App arbeitet lokal als Desktop-Tool. Es werden keine Secrets an externe Dienste gesendet.
Features
| Bereich | Beschreibung |
|---|---|
| Datei und Text | .env laden, Text direkt einfuegen, Ergebnis kopieren oder speichern |
| Placeholder | Erkennt CHANGE_ME... Werte und ersetzt sie formatbewusst |
| Konsistenz | Gleiche Placeholder werden im gesamten Output identisch ersetzt |
| Formate | Passwoerter, Secrets, Base64, Hex, UUID, Ports, URLs, E-Mail, API-Key-Praefixe |
| Standardwerte | Erkennt naheliegende Defaults automatisch und erlaubt manuelle Overrides |
| Desktop UI | Kompakte Windows-App mit nativer Fensterleiste, Darkmode und Settings |
| Sprachen | Deutsch, Englisch, Spanisch, Franzoesisch, Niederlaendisch |
| Build | Windows Setup und Portable EXE ueber Gitea Runner |
Workflow
1. .env Datei laden oder Text einfuegen
2. Automatische Standardwerte pruefen oder eigene Defaults ergaenzen
3. CHANGE_ME Platzhalter generieren lassen
4. Output kopieren oder als neue .env speichern
Input Verarbeitung Output
----- ------------ ------
DATABASE_URL=... Placeholder erkennen DATABASE_URL=...
POSTGRES_PASSWORD=... -> Format ableiten -> POSTGRES_PASSWORD=...
SESSION_SECRET=... Werte lokal erzeugen SESSION_SECRET=...
Beispiel
Eingabe:
APP_PORT=3000
NODE_ENV=production
PUBLIC_BASE_URL=CHANGE_ME_PUBLIC_URL
DATABASE_URL=postgresql://app_user:CHANGE_ME_POSTGRES_PASSWORD@postgres:5432/app_db
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=CHANGE_ME_EMAIL
BOOTSTRAP_ADMIN_PASSWORD=CHANGE_ME_LONG_INITIAL_ADMIN_PASSWORD
Moeglicher Output:
APP_PORT=3000
NODE_ENV=production
PUBLIC_BASE_URL=https://example.local
DATABASE_URL=postgresql://app_user:K2d8rF7s...@postgres:5432/app_db
POSTGRES_PASSWORD=K2d8rF7s...
SESSION_SECRET=n9pS...urlSafeSecret
ENCRYPTION_KEY_BASE64=4G8t...base64Value
BOOTSTRAP_ADMIN_EMAIL=admin@example.local
BOOTSTRAP_ADMIN_PASSWORD=Wz4...strongPassword
Die echten Werte werden zufaellig lokal erzeugt.
Erkennung
EnvHelper priorisiert den Inhalt des Platzhalters vor dem umgebenden Variablennamen. Dadurch wird zum Beispiel CHANGE_ME_POSTGRES_PASSWORD innerhalb einer DATABASE_URL als Passwort erkannt und nicht faelschlich als URL.
Unterstuetzte Muster sind unter anderem:
| Muster | Ergebnis |
|---|---|
CHANGE_ME_POSTGRES_PASSWORD |
starkes URL-sicheres Passwort |
CHANGE_ME_32_RANDOM_BYTES_AS_BASE64 |
32 zufaellige Bytes als Base64 |
CHANGE_ME_HEX_TOKEN |
zufaellige Bytes als Hex |
CHANGE_ME_UUID |
UUID v4 |
CHANGE_ME_PUBLIC_URL |
HTTPS URL |
CHANGE_ME_EMAIL |
E-Mail-Adresse |
STRIPE_SECRET_KEY=CHANGE_ME |
Stripe-artiger sk_test_... Wert |
STRIPE_WEBHOOK_SECRET=CHANGE_ME |
Stripe-artiger whsec_... Wert |
AWS_ACCESS_KEY_ID=CHANGE_ME |
AWS/S3-artiges Access-Key-ID Format |
Weitere Heuristiken decken typische .env.example-Variablen fuer SMTP, S3/MinIO, Redis, RabbitMQ, CORS, Log-Level, Environment-Flags und API Keys ab.
Standardwerte
Standardwerte werden in einer eigenen Sektion angezeigt. Die App erkennt naheliegende Defaults automatisch, zum Beispiel:
| Key | Default |
|---|---|
BOOTSTRAP_ADMIN_EMAIL |
admin@example.local |
NODE_ENV |
production |
LOG_LEVEL |
info |
SMTP_PORT |
587 |
S3_REGION |
eu-central-1 |
REDIS_URL |
redis://redis:6379/0 |
Manuelle Defaults koennen jederzeit hinzugefuegt werden. Sie ueberschreiben automatisch erkannte Defaults und wirken nur auf den Output, nicht auf die Eingabevorlage.
Download und Artefakte
Der Windows-Build erzeugt zwei nutzbare 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 veroeffentlicht.
Entwicklung
npm install
npm run dev
Build pruefen:
npm run build
Windows-Paket lokal bauen:
npm run dist:win
Windows Build
Der produktive Windows-Build laeuft ueber Gitea Actions:
.gitea/workflows/build-windows.yml
Der Runner:
- checkt das Repository aus,
- installiert Node.js,
- installiert Wine fuer Windows-Packaging auf Linux,
- baut Vite, TypeScript und Electron,
- erzeugt Setup und Portable EXE,
- laedt Artefakte und Packages nach Gitea hoch.
Sicherheit
EnvHelper erzeugt Werte lokal im Renderer mit Web-Crypto. Die App ist ein Helfer fuer .env-Vorlagen und ersetzt keine zentrale Secret-Verwaltung fuer produktive Infrastruktur.
Windows Defender und SmartScreen
Windows kann Apps mit unbekanntem Herausgeber blockieren oder verzoegert starten. Das liegt normalerweise an fehlender Reputation oder fehlendem vertrauenswuerdigem Code-Signing-Zertifikat.
Der Workflow ist fuer Code Signing vorbereitet:
WINDOWS_CSC_LINK
WINDOWS_CSC_KEY_PASSWORD
WINDOWS_CSC_LINK ist das Zertifikat, zum Beispiel als Base64-kodierte .pfx Datei oder als erreichbare Zertifikats-URL. WINDOWS_CSC_KEY_PASSWORD ist das Passwort des Zertifikats.
Projektinfos
| Feld | Wert |
|---|---|
| Autor | MrSphay |
| Repository | MrSphay/envHelper |
| App-ID | de.wilkensxl.envhelper |
| Stack | Electron, React, Vite, TypeScript |
| README-Stil | Inspiriert von andreasbm/readme |