mirror of
https://github.com/CyberMind-FR/secubox-deb.git
synced 2026-07-29 13:59:40 +00:00
|
Some checks are pending
License Headers / check (push) Waiting to run
* docs(spec): rapport kbin fidèle + media types + WebUI DPI (ref #785) * docs(plan): rapport kbin media types implementation plan (ref #785) * feat(core): shared media-catch JSONL aggregator (ref #785) * fix(core): guard media-catch aggregate against malformed fields + full SPDX header (ref #785) * feat(toolbox): _media_stats + wire media_exfil into report routes (ref #785) * feat(toolbox): PDF DPI-exfil/overall donut-grids + media-type block (ref #785) Replaces the text-bullet DPI/EXFIL section (per-device + overall) with _pdf_donut_grid 4-donut grids and adds a new "TYPES DE MEDIAS CAPTES" section (kinds/content-types donut grid + top-hosts emoji table), for parity with the HTML report. Also guards the PDF footer's italic set_font against DejaVu-Oblique not being registered (fonts-dejavu-core ships Regular+Bold only) — a pre-existing latent crash on any full render_pdf() call, uncovered because no prior test exercised the whole function end-to-end. * fix(toolbox): per-grid captions so network/media donuts aren't mislabeled as device stats (ref #785) * feat(toolbox): media-type cards in report web page (me + overall) (ref #785) * fix(toolbox): close media card divs so Overall tab + footer aren't nested in DPI pane (ref #785) * feat(dpi): WebUI card — services by category (bytes) (ref #785) * feat(dpi): /media_types endpoint (MIME media-catch, fail-empty) (ref #785) * feat(dpi): WebUI card — MIME media types + refreshAll wiring (ref #785) * chore: gitignore SDD run scratch + drop stray task report (ref #785) * perf(core): bounded tail-read for media-catch + import-in-try for uniform fail-empty (ref #785) * fix(dpi): backport board-live async control endpoints (drift reconciliation, ref #785) The board ran a manually-deployed main.py with status/restart/start/stop/logs/ interface_list/tc_status/remove_mirred as 'async def' — never committed to git. Backported so the next .deb install doesn't revert them. Signature-only change, verified identical to the live-validated deployed file. * fix(toolbox): PDF render must not wedge the event loop (#785 incident) Heavier #785 report PDFs (more matplotlib donut-grids, ~9s render) + the WAF 504-page auto-retry storm pegged the single uvicorn worker and 504'd the whole toolbox vhost. Fixes: - run render off the event loop (threadpool) so HTML report / landing stay live - serialize renders through one asyncio lock (pyplot is not thread-safe; also bounds CPU so retries can't render in parallel) - short per-device PDF cache with a double-checked lock: a retry storm now triggers exactly ONE render, all other hits return cached bytes instantly - persistent MPLCONFIGDIR (systemd drop-in + postinst dir) so matplotlib builds its font cache once instead of on every process start Validated live on gk2: cold render caches, 8-request retry storm all served from cache (~0.1s), /landing 0.012s throughout. --------- Co-authored-by: CyberMind-FR <gandalf@Gk2.net> |
||
|---|---|---|
| .. | ||
| apparmor | ||
| audit | ||
| nginx | ||
| secubox_core | ||