2026-05-15 14:20:18 +02:00
2026-05-08 21:58:39 +02:00
2026-05-15 14:20:18 +02:00
2026-03-15 21:47:48 +01:00
2026-05-15 14:20:18 +02:00
2026-05-15 14:20:18 +02:00
2026-04-28 19:20:00 +02:00
2026-05-11 16:46:26 +02:00
2026-05-11 16:46:26 +02:00
2026-03-15 20:50:01 +00:00

appRobotHoming

Eine kleine Node.js-App mit HTTPS-Frontend (einige Buttons + Textfeld) und Backend, das sich mit einem konfigurierbaren WSS (WebSocket Secure) verbindet. Die Buttons senden Befehle an den WSS, und das Textfeld zeigt eingehende Nachrichten/Logs an.

Features

  • HTTPS-Server wird automatisch mit selbstsignierten Zertifikaten betrieben.
  • Postinstall-Task erstellt bei npm install die Zertifikate unter ./certs.
  • WSS-Client mit Auto-Reconnect und optionaler TLS-Validierung (in .env steuerbar).
  • SSE (Server-Sent Events) für Live-Logs im Browser.

Schnellstart

# 1) Abhängigkeiten installieren und Zertifikate erzeugen
npm install

# 2) (Optional) .env anlegen, basierend auf .env.sample
cp .env.sample .env
# Werte nach Bedarf anpassen

# 3) Starten
npm run dev     # mit Nodemon
# oder
npm start       # ohne Nodemon

Öffne danach: https://localhost:8443 (Da selbstsigniert, musst du dem Zertifikat im Browser einmalig vertrauen.)

Konfiguration (.env)

Siehe .env.sample für alle verfügbaren Variablen:

  • HTTPS_PORT (Standard: 8443)
  • WSS_URL (z. B. wss://localhost:9001)
  • WSS_INSECURE_TLS (true|false) bei selbstsignierten Upstream-Zertifikaten oft true
  • HTTPS_HOST (CN für das Zertifikat, Standard: localhost)
  • HTTPS_CERT_DAYS (Gültigkeitsdauer des selbstsignierten Zertifikats in Tagen)
  • ALLOWED_COMMANDS (kommasepariert; nur diese Kommandos akzeptiert das Backend)

Sicherheitshinweise

  • Die Inhalte des Verzeichnisses certs/ sowie .env sind absichtlich in .gitignore eingetragen und werden nicht in Gitea eingecheckt.
  • In Entwicklungsumgebungen kann WSS_INSECURE_TLS=true nötig sein. In Produktion deaktivieren und echte Zertifikate verwenden.

Ordnerstruktur

appRobotHoming/
├─ public/           # Statisches Frontend (HTML/JS/CSS)
├─ src/              # Backend-Quellcode
├─ scripts/          # Utility-Skripte (z. B. Zertifikatserzeugung)
├─ certs/            # (auto-generiert) selbstsignierte Zertifikate
├─ .gitignore
├─ .env.sample
├─ package.json
└─ README.md

Gitea-Upload

  • Committe den Code ohne certs/ und ohne .env.
  • Nach dem Klonen auf einem anderen System einfach npm install ausführen die Zertifikate werden wieder neu erzeugt.
Description
Homing for my Robot
Readme 52 MiB
Languages
Python 42.4%
JavaScript 38.7%
HTML 17.8%
CSS 1.1%