diff --git a/firewall.sh b/firewall.sh index d49f158..779fd78 100755 --- a/firewall.sh +++ b/firewall.sh @@ -366,9 +366,27 @@ module-akkoma-instance() { fi fi } -module-akkoma-timelines() { - ATTACK="module-akkoma-timelines DDOS Attack " - SEARCH_SPAM=$(grep $2 $ACCESS | grep -E "timelines/public|timelines/home" | grep $1 | wc -l) + +module-akkoma-timeline-public() { + ATTACK="module-akkoma-timeline-public DDOS Attack " + SEARCH_SPAM=$(grep $2 $ACCESS | grep "timelines/public" | grep $1 | wc -l) + CHECK=$(cat $NFT_CACHE | sort -u | grep $1) + if [[ "$SEARCH_SPAM" -gt 30 ]]; then + echo "$IP $CHECK $COUNT" + if [ "$CHECK" = "" ]; then + ipBlockParser "$1" + redis-cli SADD tmp_block $1 + message "$ATTACK $1" + echo "$ATTACK $1" + else + echo "$ATTACK Ignoring Duplicate IP: $1" + fi + fi +} + +module-akkoma-timeline-home() { + ATTACK="module-akkoma-timeline-home DDOS Attack " + SEARCH_SPAM=$(grep $2 $ACCESS | grep -E "timelines/home" | grep $1 | wc -l) CHECK=$(cat $NFT_CACHE | sort -u | grep $1) if [[ "$SEARCH_SPAM" -gt 30 ]]; then echo "$IP $CHECK $COUNT" @@ -420,7 +438,8 @@ watch() { for i in "${IP[@]}"; do module-akkoma-instance "$i" "$DATE" - module-akkoma-timelines "$i" "$DATE" + module-akkoma-timeline-public "$i" "$DATE" ++ module-akkoma-timeline-home "$i" "$DATE" module-akkoma-accounts "$i" "$DATE" module-akkoma-search "$i" "$DATE" module-lightning "$i" "$DATE"