2024-09-24 21:27:33 -06:00
|
|
|
#!/bin/bash
|
|
|
|
FIREWALL="/opt/firewall/firewall.sh"
|
2024-09-24 21:56:20 -06:00
|
|
|
NFT_CACHE='/tmp/nft.cache'
|
2024-09-24 21:27:33 -06:00
|
|
|
ACCESS="/tmp/minute.log"
|
2024-09-24 22:30:26 -06:00
|
|
|
ATTACK="module-akkoma-instance"
|
2024-09-24 21:27:33 -06:00
|
|
|
SEARCH_SPAM=$(grep $2 $ACCESS | grep -E "api/v1/instance" | 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
|
2024-09-24 21:56:20 -06:00
|
|
|
bash $FIREWALL ipBlockParser "$1"
|
2024-09-24 22:30:26 -06:00
|
|
|
bash $FIREWALL message "$ATTACK-$1"
|
2024-09-24 21:27:33 -06:00
|
|
|
redis-cli SADD tmp_block $1
|
|
|
|
echo "$ATTACK $1"
|
|
|
|
else
|
|
|
|
echo "$ATTACK Ignoring Duplicate IP: $1"
|
|
|
|
fi
|
|
|
|
fi
|