#!/usr/bin/env bash
# Dump OpenSnitch state to a user-readable audit dir for analysis. Runs as root.
set -euo pipefail
OUT=/home/user/opensnitch-staging/audit
mkdir -p "$OUT"

# daemon + UI config
cp -f /etc/opensnitchd/default-config.json "$OUT/daemon-config.json" 2>/dev/null || true

# all rules concatenated with filename headers (jsonl-ish for parsing)
: > "$OUT/rules.txt"
for f in /etc/opensnitchd/rules/*.json; do
  echo "### $(basename "$f")" >> "$OUT/rules.txt"
  cat "$f" >> "$OUT/rules.txt"
  echo >> "$OUT/rules.txt"
done

# log tail (bounded) — main fatigue evidence
tail -n 20000 /var/log/opensnitchd.log > "$OUT/log.txt" 2>/dev/null || true
wc -l /var/log/opensnitchd.log > "$OUT/log-total.txt" 2>/dev/null || true

chown -R user:user "$OUT"
echo "dumped to $OUT"
ls -la "$OUT"
