netzstaub

beatz & funkz

Sunday, February 27, 2005

Proxies sortieren

Blackhat

Oft braucht man für eine kleine WWW-Aktion ganz viele Proxies (klar, zum Parallelisieren). Es gibt dazu auch russische Seiten, die Listen von öffentlichen Proxies anbieten. Die muss man aber noch von Hand nach korrekter Funktionsweise überprüfen. Dazu kann man ein kleines Shellscript benutzen, was zwar fork()t wie sau, aber eigentlich ganz gut einzusetzen ist:

#!/bin/sh

PROXIES=""
PROXYCOUNT=0
TESTURL=http://images.slashdot.org/pix.gif

TXT=`wget -q -O- "$TESTURL"`
CKSUM=`echo $TXT | cksum`

while read i; do
   PROXY=`echo "$i" | sed -e 's/^[0-9]* *//g'`
   PROXY="http://$PROXY/"
   PROXIES="${PROXIES} $PROXY"
   PROXYCOUNT=$(( PROXYCOUNT + 1 ))
done

if [ $PROXYCOUNT -eq 0 ]; then
   echo "Please give a list of proxies on stdin"
   exit 1
fi

for proxy in $PROXIES; do
   (TXT=`http_proxy="$proxy" wget --timeout=10 -q -O- "$TESTURL"`
    if [ $? -eq 0 ]; then 
      CKSUM2=`echo $TXT | cksum`
      if [ "$CKSUM2" = "$CKSUM" ]; then 
         echo $proxy
      fi
    fi) &
done

wait

Dann einfach die Proxyliste von der obengenannten Seite kopieren, und in das Skript füttern über stdin. Rauskommt eine korrekt formattierte Liste von funktionnierenden Proxies. Wie immer gilt: Careful with that axe, Eugene!

posted by manuel at 3:42 pm  

No Comments »

No comments yet.

RSS feed for comments on this post.

Leave a comment

Powered by WordPress