1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/bin/bash
- BADGUYS_FILE="/root/ci-badguys.txt"
- CHAIN_NAME="CINSARMY_IPS"
- FIREWALL="/sbin/iptables"
- ETH="eth1"
- echo "Downloading the cinsarmy bad guys list of IPs."
- wget -c https://cinsscore.com/list/ci-badguys.txt -O $BADGUYS_FILE
- echo "Making sure it downloaded..."
- # Check if the file exists
- if [[ ! -f "$BADGUYS_FILE" ]]; then
- echo "File not found: $BADGUYS_FILE"
- exit 1
- fi
- # Check if the chain exists, and creates it if it's not there
- if $FIREWALL -L $CHAIN_NAME -n &> /dev/null; then
- echo "Chain $CHAIN_NAME already exists."
- $FIREWALL -F $CHAIN_NAME
- else
- echo "Creating chain $CHAIN_NAME."
- $FIREWALL -N $CHAIN_NAME
- # Jump to our chain from the FORWARD chain
- $FIREWALL -A FORWARD -j $CHAIN_NAME
- fi
- echo "Processing the updated bad guys list..."
- # Read each line (IP address) from the file and block it
- while IFS= read -r ip; do
- # Check if the line is not empty
- if [[ -n "$ip" ]]; then
- # Block the IP address using $FIREWALL
- $FIREWALL -A $CHAIN_NAME -i $ETH -s "$ip" -j DROP
- # echo "Blocked IP: $ip"
- fi
- done < "$BADGUYS_FILE"
- # Delete the bad guys file
- rm $BADGUYS_FILE
- echo "Bad guys list has been processed, and deleted."
|