1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-09-29 08:20:59 -04:00
Daggerbot-TS/ufwReject.sh
2024-01-22 17:04:54 +11:00

36 lines
933 B
Bash
Executable File

#!/bin/bash
if [ "$EUID" -ne 0 ]; then
echo "Please run this script as root or sudo"
exit 1
fi
# Store the IP addresses in a file
IP_ADDRESSES_STORE="ips.txt"
# Scan the kernel log for IP addresses and store them in a file
dmesg | grep 'SRC=' | awk -F'SRC=' '{ print $2 }' | awk '{ print $1 }' | sort | uniq | head -n 5000 > "$IP_ADDRESSES_STORE"
# Initialize a counter for new IPs
new_ips=0
# Store the output of ufw status in a variable
ufw_status=$(ufw status)
# Populate the UFW reject rule with the IP addresses collected from the kernel log
while IFS= read -r ip
do
ip_prefix="${ip%.*}"
# Check if the IP is already in the UFW rules
if ! echo "$ufw_status" | grep -q "$ip" && [ "$ip_prefix" != "${TOAST_IP%.*}" ]
then
ufw reject from $ip
# Increment the counter
((new_ips++))
fi
done < "$IP_ADDRESSES_STORE"
echo "Done populating UFW reject rule"
echo "$new_ips IP addresses were added"
exit 0