secubox-deb/.gitignore
CyberMind 45f8397efd
Some checks are pending
License Headers / check (push) Waiting to run
Rapport kbin fidèle (PDF donut-grids + media types) + WebUI DPI + incident hardening (#787)
* 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>
2026-07-03 12:27:28 +02:00

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/