feat(waf): Phase 5 — WAF-UI (per-Domain Konfiguration) — v1.2.71

- pages/WAF/index.tsx: neue WAF-Seite mit Status-Strip,
  Domänen-Tabelle (Toggle/Mode/PL) + Konfigurations-Drawer pro Domain
  (enabled, mode, paranoia_level 1-4, rule_exclusions, trusted_proxies,
  custom_rules). Quick-Toggle ohne Drawer; Hinweis: erst Detection, dann Blocking.
- App.tsx: /waf Route + lazy import
- Sidebar.tsx: WAF im Security-Bereich
- i18n EN + DE

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Debian
2026-06-02 22:03:01 +02:00
parent 66dec8cf61
commit 4f887df658
6 changed files with 490 additions and 3 deletions

View File

@@ -39,6 +39,7 @@ const LicensePage = lazy(() => import('./pages/License'))
const SettingsPage = lazy(() => import('./pages/Settings'))
const UsersPage = lazy(() => import('./pages/Users'))
const CrowdSecPage = lazy(() => import('./pages/CrowdSec'))
const WAFPage = lazy(() => import('./pages/WAF'))
const queryClient = new QueryClient({
defaultOptions: {
@@ -145,6 +146,7 @@ export default function App() {
<Route path="/users" element={<UsersPage />} />
<Route path="/settings" element={<SettingsPage />} />
<Route path="/crowdsec" element={<CrowdSecPage />} />
<Route path="/waf" element={<WAFPage />} />
</Route>
<Route path="*" element={<Navigate to="/dashboard" replace />} />