#!/bin/bash
#
# haxiorIP ver.0.1 alfa beta
#
# Skrypt pomaga w prosty sposob dadawac/usuwac adresy IP,
# ktore chcemy zablokowac uzywajac do tego iptables.
#
# by Krzysztof 'zmijka' Zmijewski
#

IPT="/sbin/iptables"
CHAIN=`$IPT -S | grep HIP | wc -l`

function uzycie
{
    echo "Uzycie:"

    echo "$0 addchain      dodaje lancuch HIP do iptables'a"
    echo "$0 delchain      usuwa lancuch HIP z iptables'a"
    echo "$0 addip [IP]    dodaje podany adres IP do lancucha HIP"
    echo "$0 delip [IP]    usuwa podany adres IP z lancucha HIP"
    echo "$0 file [file]   dodaje adresy IP z pliku do lacucha HIP"
}

function addchain
{	
    if [ $CHAIN -eq "0" ]
    then
        echo -n "Tworze lancuch HIP... "
            $IPT -N HIP
            $IPT -I INPUT -j HIP
        echo "OK"
    else
        echo "Lancuch HIP juz istnieje."
    fi
}

function delchain
{
    if [ $CHAIN -eq "0" ]
    then
        echo "Lancuch HIP nie istnieje."
    else
        echo -n "Kasuje lancuch HIP... "
            $IPT -F
            $IPT -X
        echo "OK"
    fi
}

function addip
{
    $IPT -A HIP -s $ip -j DROP
}

function delip
{
    $IPT -D HIP -s $ip -j DROP
}

function file
{
ILE=1;

	if [ $CHAIN -ne "0" ]
    then
		for BADIP in $(cat $ip)
		do
			$IPT -A HIP -s $BADIP -j DROP
			ILE=`expr $ILE + 1`
		done	
		echo "Dodano z pliku $2 $ILE adresow IP do iptables"
	else
		echo "Lancuch HIP nie istnieje."
	fi
}


if [ "$#" -lt 1 ]
then
    uzycie
    exit 1
fi

ip=$2

case "$1" in
    "addchain") addchain ;;
    "delchain") delchain ;;
    "addip") addip ;;
    "delip") delip ;;
    "file") file ;;
    *) uzycie
esac

exit 0



syntax highlighted by Code2HTML, v. 0.9.1