whitelist)
Purge_Logs
if [ -z "$2" ]; then
echo "For Automated IP Whitelisting Use; \"sh $0 whitelist IP\""
echo "For Automated Domain Whitelisting Use; \"sh $0 whitelist domain URL\""
echo "Input IP To Whitelist"
read whitelistip
logger -st Skynet "[Adding $whitelistip To Whitelist] ... ... ..."
ipset -A Whitelist $whitelistip
ipset -D Blacklist $whitelistip
sed -i /$whitelistip/d /jffs/skynet.log
elif [ -n "$2" ] && [ "$2" != "domain" ] && [ "$2" != "port" ] && [ "$2" != "remove" ]; then
logger -st Skynet "[Adding $2 To Whitelist] ... ... ..."
ipset -A Whitelist $2
ipset -D Blacklist $2
sed -i /$2/d /jffs/skynet.log
elif [ "$2" = "domain" ] && [ -z "$3" ];then
echo "Input Domain To Whitelist"
read whitelistdomain
logger -st Skynet "[Adding $whitelistdomain To Whitelist] ... ... ..."
for ip in $(Domain_Lookup $whitelistdomain)
do
ipset -A Whitelist $ip
ipset -D Blacklist $ip
sed -i /$ip/d /jffs/skynet.log
done
elif [ "$2" = "domain" ] && [ -n "$3" ]; then
logger -st Skynet "[Adding $3 To Whitelist] ... ... ..."
for ip in $(Domain_Lookup $3)
do
ipset -A Whitelist $ip
ipset -D Blacklist $ip
sed -i /$ip/d /jffs/skynet.log
done
elif [ "$2" = "port" ] && [ -n "$3" ]; then
logger -st Skynet "[Adding $3 To Whitelist] ... ... ..."
for ip in $(Domain_Lookup $3)
do
ipset -A Whitelist $ip
ipset -D Blacklist $ip
sed -i /$ip/d /jffs/skynet.log
done
elif [ "$2" = "port" ] && [ -n "$3" ]; then
logger -st Skynet "[Whitelisting Autobans Issued On Traffic From Port $3] ... ... ..."
for ip in $(grep NEW /jffs/skynet.log | grep "DPT=$3 " | grep -oE 'SRC=[0-9,\.]* ' | cut -c 5- )
do
echo "Whitelisting $ip"
ipset -A Whitelist $ip
ipset -D Blacklist $ip
sed -i /$ip/d /jffs/skynet.log
done
elif [ "$2" = "remove" ]; then
echo "Removing All Non-Default Whitelist Entries"
ipset --flush Whitelist
ipset --save > /jffs/scripts/ipset.txt
echo "Restarting Firewall"
service restart_firewall
exit
else
echo "Command Not Recognised, Please Try Again"
exit
fi
ipset --save > /jffs/scripts/ipset.txt
;;