Skip to content

Repository files navigation

DGKN System Utility Logo

System Utility by DGKN

Windows-Systemtool zum Aufräumen und Navigieren – gebaut mit Electron + TypeScript

Windows 10/11 Electron 43 TypeScript 5 MIT License


Features

Modul Beschreibung
Temp-Cleaner Bereinigt Windows-Temp, User-Temp, Browser-Caches und weitere konfigurierte Ziele mit einem Klick. Zeigt vorher Dateizahl und Groesse an.
Path-Locator Listet gaengige Entwicklerpfade (npm, pip, Cargo, Go, Android SDK u.a.) mit Existenz-Check. Oeffnen, Aufdecken oder Kopieren per Knopfdruck.
System-Info Laufwerke, freier Speicher und Elevations-Status auf einen Blick.

Temp-Cleaner

Temp-Cleaner Screenshot

Path-Locator

Path-Locator Screenshot


Schnellstart

# Abhaengigkeiten installieren
npm install

# App starten
npm start

Verfuegbare Skripte

Skript Wirkung
npm run build Kompiliert Main, Preload und Renderer nach dist/
npm start Build + App starten
npm run dev Build + App mit DevTools
npm run icon Regeneriert assets/icon.png und assets/icon.ico
npm run typecheck Nur Typpruefung
npm run clean dist/ loeschen
npm run dist Installer + Portable-EXE bauen (NSIS)

Fuer C:\Windows\Temp und SoftwareDistribution\Download die App als Administrator starten. Ohne Elevation werden geschuetzte Dateien uebersprungen – die App bricht nicht ab.


Projektstruktur

system-utility-by-dgkn/
├── assets/
│   ├── icon.svg            Vektor-Quelle des Logos
│   ├── icon-small.svg      Variante fuer kleine Groessen
│   ├── icon.png            256x256, generiert
│   └── icon.ico            Multi-Size 16..256, generiert
├── scripts/
│   ├── make-icon.cjs       Rendert Logo → PNG + ICO
│   ├── copy-assets.mjs     Kopiert Renderer-Assets nach dist/
│   └── clean.mjs           Loescht dist/
├── src/
│   ├── main/main.ts        Main-Prozess: Ziele, Allowlist, fs-Walker, IPC
│   ├── preload/preload.ts  ContextBridge
│   ├── renderer/
│   │   ├── index.html      UI-Geruest (strikte CSP)
│   │   ├── styles.css      Dark-Mode-Theme
│   │   ├── renderer.ts     UI-Logik
│   │   ├── splash.html     Splashscreen
│   │   └── splash.css      Splash-Styling
│   └── shared/
│       ├── api.d.ts        Typen fuer alle drei Prozesse
│       └── channels.ts     IPC-Kanalnamen
├── package.json
├── tsconfig.main.json
└── tsconfig.renderer.json

Sicherheitsmodell

Die App folgt Electrons Best Practices fuer Prozessisolation:

  • Context Isolation + Sandbox – kein nodeIntegration
  • Strikte CSP im Renderer (default-src 'none')
  • IPC nur ueber IDs – der Renderer sendet niemals rohe Dateipfade
  • Allowlist im Main-Prozess – jeder Loeschpfad muss in einem registrierten Ziel liegen
  • Blockliste fuer kritische Systempfade (C:\, C:\Windows, System32, Benutzerprofil)
  • Symlinks/Junctions werden nicht verfolgt
  • Bestaetigungsdialog vor jedem Loeschlauf

Icon & Splashscreen

Logo SVG

Das Logo ist eine Verlaufskachel (Teal → Cyan → Blau → Violett) mit dem Monogramm DG. npm run icon rendert das SVG in einem Offscreen-BrowserWindow und erzeugt icon.png und icon.ico.


Beim Start zeigt ein rahmenloser, transparenter Splashscreen Logo und Fortschrittsbalken, bevor das Hauptfenster erscheint. Mindestanzeigedauer: 1100 ms; Timeout: 12 s.


IPC-Architektur

Renderer                Preload (ContextBridge)        Main
────────                ───────────────────────        ────
btn-clean click
  api.cleaner.confirm() → ipcRenderer.invoke        → dialog.showMessageBox
  api.cleaner.clean()   → ipcRenderer.invoke        → sanitizeIds → purgeDirectory
                        ← CleanResult[]              ←
onProgress(cb)          ← ipcRenderer.on             ← webContents.send('op:progress')

Vollstaendige Kanaluebersicht: src/shared/channels.ts


Build & Release

# Installer + Portable-EXE erzeugen
npm run dist

# Nur entpacktes Verzeichnis (schnellerer Test)
npm run dist:dir

Ausgabe landet in release/. Der NSIS-Installer erlaubt benutzerdefinierte Installationspfade und erstellt Desktop- und Startmenue-Verknuepfungen.


Lizenz

MIT © DGKN@Labs

About

Windows System Utility – Temp-Cleaner und Path-Locator (Electron + TypeScript)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages