etc.git


etc

~ scripts and random things
git clone https://github.com/djnnvx/etc.git
log | files | refs | archive

cleanup.sh (1687B)

      1 #!/bin/bash
      2 # cleanup.sh — kill fuzzers and remove artifacts.
      3 # Usage: bash cleanup.sh [--keep-corpus] [--keep-builds] [--keep-source] [--crashes-only]
      4 
      5 set -uo pipefail
      6 
      7 SCRIPT_DIR="$(cd "$(dirname "${0}")" && pwd)"
      8 cd "${SCRIPT_DIR}"
      9 
     10 SESSION="libusb-fuzz"
     11 KEEP_CORPUS=0 KEEP_BUILDS=0 KEEP_SOURCE=0 CRASHES_ONLY=0
     12 
     13 for arg in "$@"; do
     14     case "${arg}" in
     15         --keep-corpus)  KEEP_CORPUS=1  ;;
     16         --keep-builds)  KEEP_BUILDS=1  ;;
     17         --keep-source)  KEEP_SOURCE=1  ;;
     18         --crashes-only) CRASHES_ONLY=1 ;;
     19         *) echo "[!] Unknown option: ${arg}" >&2 ;;
     20     esac
     21 done
     22 
     23 log() { echo "[*] $*"; }
     24 ok()  { echo "[+] $*"; }
     25 
     26 tmux kill-session -t "${SESSION}" 2>/dev/null || true
     27 
     28 pkill -u "$(id -un)" -f "afl-fuzz.*libusb"  2>/dev/null || true
     29 pkill -u "$(id -un)" -f "fuzz_descriptor"    2>/dev/null || true
     30 pkill -u "$(id -un)" -f "fuzz_bos"           2>/dev/null || true
     31 pkill -u "$(id -un)" -f "fuzz_iad"           2>/dev/null || true
     32 pkill -u "$(id -un)" -f "fuzz_usbfs"         2>/dev/null || true
     33 pkill -u "$(id -un)" -f "fuzz_extra"         2>/dev/null || true
     34 
     35 [[ "${CRASHES_ONLY}" -eq 1 ]] && { ok "Processes killed."; exit 0; }
     36 
     37 if [[ "${KEEP_BUILDS}" -eq 0 ]]; then
     38     rm -f fuzz_descriptor fuzz_descriptor.cmplog
     39     rm -f fuzz_bos        fuzz_bos.cmplog
     40     rm -f fuzz_iad        fuzz_iad.cmplog
     41     rm -f fuzz_usbfs      fuzz_usbfs.cmplog
     42     rm -f fuzz_extra      fuzz_extra.cmplog
     43     ok "Binaries removed."
     44 fi
     45 
     46 if [[ "${KEEP_CORPUS}" -eq 0 ]]; then
     47     rm -rf corpus/ output/
     48     ok "Corpus and output removed."
     49 fi
     50 
     51 if [[ "${KEEP_SOURCE}" -eq 0 ]]; then
     52     rm -rf libusb-src/ AFLplusplus/ afl-build/
     53     ok "Source trees removed."
     54 fi
     55 
     56 ok "Done."