﻿#!/bin/bash

WATCHDIR="/home/Username/Downloads"
LOGFILE="/var/log/clamwatch.log"

echo "Starte ClamAV Ordnerüberwachung für $WATCHDIR"

while inotifywait -r -e modify,create,move,delete "$WATCHDIR"; do
    echo "[$(date)] Änderung erkannt – aktualisiere Signaturen..." | tee -a "$LOGFILE"

    freshclam >> "$LOGFILE" 2>&1

    echo "[$(date)] Starte Scan..." | tee -a "$LOGFILE"

    clamscan -r --bell --log="$LOGFILE" "$WATCHDIR"

    echo "[$(date)] Scan abgeschlossen." | tee -a "$LOGFILE"

    # --- Scan-Ergebnis extrahieren ---
    INFECTED=$(grep "Infected files" "$LOGFILE" | tail -n 1 | awk '{print $3}')
    SCANNED=$(grep "Scanned files" "$LOGFILE" | tail -n 1 | awk '{print $3}')

    # Falls infizierte Dateien gefunden wurden → Namen extrahieren
    if [ "$INFECTED" != "0" ]; then
        LAST_INFECTED=$(grep "FOUND" "$LOGFILE" | tail -n 1 | awk -F: '{print $1}')
        MSG="Scan abgeschlossen. Infizierte Dateien: $INFECTED. Letzte infizierte Datei: $LAST_INFECTED"
    else
        MSG="Scan abgeschlossen. Keine Infektionen. Gescannte Dateien: $SCANNED"
    fi

    # --- Desktop-Benachrichtigung ---
    sudo -u Username DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send "ClamAV Scan" "$MSG"

done
