diff --git a/BASH/tor-block.sh b/BASH/tor-block.sh new file mode 100644 index 0000000..988c234 --- /dev/null +++ b/BASH/tor-block.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Found at http://www.brianhare.com/wordpress/2011/03/02/block-tor-exit-nodes-using-bash-script/#codesyntax_1 +# Mods (if any) by MadMakz +IPTABLES_TARGET="DROP" +IPTABLES_CHAINNAME="TOR" + +WORKING_DIR="/tmp/" + +# get IP address of eth0 network interface +IP_ADDRESS=$(ifconfig eth0 | awk '/inet addr/ {split ($2,A,":"); print A[2]}') + +if ! iptables -L "$IPTABLES_CHAINNAME" -n >/dev/null 2>&1 ; then #If chain doesn't exist + iptables -N "$IPTABLES_CHAINNAME" >/dev/null 2>&1 #Create it +fi + +cd $WORKING_DIR + +wget -q -O - "https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=$IP_ADDRESS&port=80" -U NoSuchBrowser/1.0 > temp_tor_list2 +wget -q -O - "https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=$IP_ADDRESS&port=9998" -U NoSuchBrowser/1.0 >> temp_tor_list2 +sed -i 's|^#.*$||g' temp_tor_list2 + +iptables -F "$IPTABLES_CHAINNAME" + +CMD=$(cat temp_tor_list2 | uniq | sort) + +for IP in $CMD; do + let COUNT=COUNT+1 + iptables -A "$IPTABLES_CHAINNAME" -s $IP -j $IPTABLES_TARGET +done + +iptables -A "$IPTABLES_CHAINNAME" -j RETURN + +rm -f $WORKING_DIR/temp_tor* \ No newline at end of file