Files
envHelper/README.md
MrSphay 98781f8e85
Some checks failed
Build Windows App / build-windows (push) Has been cancelled
Refresh README presentation
2026-05-01 23:58:44 +02:00

6.6 KiB

EnvHelper

Lokale Windows-App zum sauberen Ausfuellen von .env-Vorlagen.

Platform Stack Build Version


Inhalt


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:

  1. checkt das Repository aus,
  2. installiert Node.js,
  3. installiert Wine fuer Windows-Packaging auf Linux,
  4. baut Vite, TypeScript und Electron,
  5. erzeugt Setup und Portable EXE,
  6. 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