Willkommen im internen Entwickler-Wiki von ShieldPM (v4.4.1).
Dieses Wiki dient als Langzeitgedächtnis des Projekts. Es erklärt Architektur, Module, Entscheidungen und Zusammenhänge — für Entwickler, neue Teammitglieder und LLM-Agenten.
Hinweis: Die Benutzerdokumentation befindet sich unter docs/wiki/ (englisch, GitHub Wiki-Format). Dieses Wiki ist die interne Entwicklerdokumentation auf Deutsch.
- Architektur-Überblick
- Datenfluss
- Module
- Backend-Hilfsbibliotheken (lib)
- Express-Middleware
- Entscheidungen
- Externe Abhängigkeiten
- Modulübersicht
- Nginx-Engine
- Nginx-Templates
- Proxy-Host
- Proxy-Host-Konfigurationsvorschau
- Proxy-Host-Überwachung
- Resumable Upload Relay
- Redirection-Host
- Dead-Host (404)
- Stream (TCP/UDP)
- Host (gemeinsame Logik)
- Zertifikate
- Certbot
- Interne PKI
- Access-Lists
- OAuth2-Proxy (SSO)
- AI-Agent
- ChatOps (Telegram)
- GitOps
- Git-Deploy
- Tor Onion Services
- Cloudflare Tunnels
- WireGuard Tunnels
- IP-Ranges (Cloudflare-IPs)
- DDNS
- DDNS-Provider
- Docker Auto-Discovery
- Turbo-Loader (Batch-Import)
- OpenAppSec (WAF)
- 2FA-Service
- Auth-Session-Service
- Analytics
- Maintenance
- Dashboard-Notizen
- Terminal (SSH)
- Benutzer & Auth
- Token
- 2FA-Überblick
- Anubis (PoW-Gate)
- Screens & Pages
- Komponenten
- Frontend-Internas (Hooks, Contexts, Modals)
- Frontend API-Client
- Frontend API-Hooks
- Internationalisierung (i18n)
- Theme & Styling
Die zentrale Engine backend/internal/nginx.js rendert Nginx-Konfigurationen mit LiquidJS aus backend/templates/ und prüft sie mit nginx -tq vor dem Reload. Die Host-Module (proxy-host.js, redirection-host.js, dead-host.js, stream.js) verwenden sie zusammen mit host.js, Zertifikaten und GitOps. Der Proxy-Host integriert zusätzlich Überwachung, Diagnose, Git-Deploy, OAuth2-Proxy und optionalen Upload-Relay.
- Authentifizierung:
user.js,token.js,auth-session-service.jsund2fa-service.jsverwalten Benutzer, Tokens, Sitzungen und zweite Faktoren; die Routen verbinden diese Dienste. - Zugriff und Zertifikate:
access-list.js,oauth2-proxy.js,certificate.js,certbot.jsundpki.jsliefern Regeln, SSO und TLS-Material für Hosts. - Netzwerk:
tor.js,cloudflared.js,wireguard.js,ddns.jsundip_ranges.jsbinden externe Dienste beziehungsweise Systemwerkzeuge ein. - Automatisierung:
gitops.jsimportiert und exportiert Konfigurationen;git-deploy.jsaktualisiert Proxy-Hosts aus Git.docker.jserkennt Container über Docker-Labels und bündelt seine eigenen Nginx-Änderungen mit einem 2-Sekunden-Timer. - Verwaltung:
ai.jsbindet Provider und Tools ein;chat.jsnutzt den AI-Dienst für Telegram.maintenance.jserstellt Wartungskonfigurationen,dashboard_note.jsverwaltet Dashboard-Notizen undanalytics.jsverarbeitet Zugriffslogs. Die React-Oberfläche rendert Diagramme mit Recharts und Karten mit world-atlas. - Weitere Integrationen:
anubis.jsverwaltet die PoW-Gate-Integration. OpenAppSec wird über das Nginx-Attachment und einen externen Agenten eingebunden; einopenappsec.js-Backendmodul existiert nicht.
Details und Dateipfade stehen in der Modulübersicht und den verlinkten Modulseiten.
| Route-Datei | API-Pfad | Modul / Thema |
|---|---|---|
main.js |
/api/ |
Hauptendpunkte (health, backup, detect) |
users.js |
/api/users |
Benutzerverwaltung |
tokens.js |
/api/tokens |
Login, Refresh, Logout |
2fa.js |
/api/users/:user_id/2fa |
TOTP, Passkey, Duo, Backup-Codes |
settings.js |
/api/settings |
Globale Einstellungen |
services.js |
/api/services |
Service-Management |
schema.js |
/api/schema |
Validierungs-Schemata |
version.js |
/api/version |
Versionsabfrage |
dashboard.js |
/api/dashboard |
Dashboard-Stats |
analytics.js |
/api/analytics |
Frontend-Analytics |
reports.js |
/api/reports |
System-Reports |
audit-log.js |
/api/audit-log |
Audit-Log |
oidc.js |
/api/oidc |
OpenID Connect |
chat.js |
/api/chat |
ChatOps / Telegram |
gitops.js |
/api/gitops |
GitOps Pull/Push |
ai.js |
/api/ai |
AI-Agent |
password-reset.js |
CLI, kein API-Endpunkt | SQLite-Passwort-Reset |
nginx/proxy_hosts.js |
/api/nginx/proxy-hosts |
proxy-host |
nginx/redirection_hosts.js |
/api/nginx/redirection-hosts |
redirection-host |
nginx/dead_hosts.js |
/api/nginx/dead-hosts |
dead-host |
nginx/streams.js |
/api/nginx/streams |
stream (TCP/UDP) |
nginx/certificates.js |
/api/nginx/certificates |
Zertifikate |
nginx/access_lists.js |
/api/nginx/access-lists |
access-lists |
nginx/cloudflared.js |
/api/nginx/cloudflared-tunnels |
cloudflared |
nginx/tor_onion.js |
/api/nginx/tor-onion |
tor |
nginx/wireguard.js |
/api/nginx/wireguard |
wireguard |
nginx/ddns_providers.js |
/api/nginx/ddns-providers |
ddns-provider |
nginx/analytics.js |
/api/nginx/analytics |
Nginx-Analytics |
nginx/upload-relay.js |
/api/nginx/proxy-hosts/:hostId/upload-relay |
upload-relay |
- Glossar
- Offene Fragen
- Wiki-Pflege
- Beziehungsgraph (HTML, offline-fähig):
wiki-graph.html— wird mitpython3 scripts/wiki-graph.pyneu generiert
Zuletzt aktualisiert: 2026-10-02.
- Codeprüfung September 2026 — Änderungen, Validierung und Betriebsgrenzen einschließlich des sechsten vollständigen Durchgangs in PR #139.