#!/bin/ksh configure() { pvcurl="http://www.krazyworks.com/pvc.html" pvcstring="191628769290432845414226" wget_timeout=30 proxyin="/tmp/proxylist.in" if [ ! -f "$proxyin" ] then echo "Proxy list $proxyin not found. Exiting..." exit 1 fi proxyout="/root/proxylist.out" if [ -f "$proxyout" ] then rm "$proxyout" fi } cleanup() { killall wget for i in 1 2 3 4 5 do if [ -f "/tmp/proxy_verify.tmp$i" ] then rm "/tmp/proxy_verify.tmp$i" fi done } wgetrun() { if [ `wget -q --timeout=$wget_timeout --tries=1 -O - "$pvcurl" | grep -c "$pvcstring"` -eq 1 ] then echo "${proxy}:${port}" >> "$proxyout" fi } pingrun() { ping -q -c 1 -W 5 $proxy >/dev/null 2>&1 if [ $? -eq 0 ] then wgetrun & fi } verify() { sort "$proxyin" | uniq > "/tmp/proxy_verify.tmp1" mv "/tmp/proxy_verify.tmp1" "$proxyin" proxy_total=$(wc -l "$proxyin" | awk '{print $1}') i=1 j=1 cat "$proxyin" | while read line do echo "Processing proxy $i of $proxy_total" proxy=$(echo $line | awk -F':' '{print $1}') port=$(echo $line | awk -F':' '{print $2}') export http_proxy="${proxy}:${port}" (( i = i + 1 )) pingrun & if [ $j -eq 100 ] then if [ `ps -ef | grep -c [w]get` -gt 100 ] then sleep $wget_timeout killall wget j=1 fi else (( j = j + 1 )) fi done echo "Waiting for threads to finish ($wget_timeout seconds)..." while [ `ps -ef | egrep -c "[w]get|[p]ing"` -gt 0 ] do sleep 5 done } # RUNTIME configure cleanup verify cleanup