1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-11-17 04:10:59 -05:00
Daggerbot-TS/ufwReject.sh

33 lines
852 B
Bash
Raw Normal View History

#!/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"
2024-01-21 07:01:24 -05:00
# Initialize a counter for new IPs
new_ips=0
# 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 ! ufw status | grep -q "$ip" && [ "$ip_prefix" != "${TOAST_IP%.*}" ]
then
ufw reject from $ip
2024-01-21 07:01:24 -05:00
# Increment the counter
((new_ips++))
fi
done < "$IP_ADDRESSES_STORE"
echo "Done populating UFW reject rule"
2024-01-21 07:01:24 -05:00
echo "$new_ips IP addresses were added"
exit 0