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>
86 lines
1.6 KiB
Plaintext
86 lines
1.6 KiB
Plaintext
.venv/
|
|
.env
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
output/
|
|
out/
|
|
*.img
|
|
*.img.gz
|
|
*.vdi
|
|
*.deb
|
|
*.changes
|
|
*.buildinfo
|
|
*.dsc
|
|
packages/*/*.egg-info/
|
|
.pytest_cache/
|
|
|
|
# Debian build artifacts
|
|
packages/*/debian/.debhelper/
|
|
packages/*/debian/debhelper-build-stamp
|
|
packages/*/debian/files
|
|
packages/*/debian/*.substvars
|
|
packages/*/debian/*.postrm.debhelper
|
|
packages/*/debian/secubox-*/
|
|
daemon/build/
|
|
|
|
# Local APT cache/repo (build artifacts)
|
|
cache/repo/
|
|
|
|
# Node.js
|
|
node_modules/
|
|
dist/
|
|
*.log
|
|
.npm/
|
|
|
|
# WebExtension build artifact (regenerated by packages/secubox-webext/build.sh)
|
|
packages/secubox-webext-*.xpi
|
|
|
|
# IDE
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.wiki/
|
|
*.egg-info/
|
|
|
|
# Tow-Boot (Nix build artifacts)
|
|
tools/Tow-Boot/result
|
|
tools/Tow-Boot/output/
|
|
|
|
# Kernel build (ignore outputs, keep docs and patches)
|
|
kernel-build/*
|
|
!kernel-build/README.md
|
|
!kernel-build/patches/
|
|
!kernel-build/build-kernel.sh
|
|
backups/*.img.xz
|
|
|
|
# APT staging artifacts (regenerated by scripts/stage-apt-repo.sh)
|
|
/output/repo/db/
|
|
/output/repo/pool/
|
|
/output/repo/dists/
|
|
/output/repo/gpg/
|
|
/output/repo/conf/
|
|
/output/test-chroot/
|
|
/output/manifests/
|
|
/output/chroot-update.log
|
|
/output/build.log
|
|
|
|
# MetaBlogizer ingest artifacts (regenerated each run)
|
|
/output/ingest-report.json
|
|
/output/ingest-full.log
|
|
/output/ingest-full-run.out
|
|
/output/broken-repos.txt
|
|
/output/test-ingest-*/
|
|
|
|
# Streamlit ingest artifacts (regenerated each run)
|
|
/output/streamlit-ingest-report.json
|
|
/output/streamlit-ingest.log
|
|
/output/streamlit-ingest-full.out
|
|
/output/broken-streamlit-repos.txt
|
|
|
|
# MetaBlogizer site backfill artifacts (regenerated each run)
|
|
/output/metablog-backfill-report.json
|
|
/output/metablog-backfill.log
|
|
.superpowers/sdd/
|