Testare una lista di proxy in Perl con i threads

INPUT FILE NAME: proxy
INPUT FILE FORMAT: 1 IP:PORTA per ogni riga del file

OUTPUT LOG FILE NAME: proxy.log

VARS:
$nn -> numero di richieste per volta
$timeout -> tempo massimo di attesa per le $nn richieste

SOURCE: http://pastebin.com/8GejbgjD

#!/usr/bin/perl -w
use threads;
use WWW::Mechanize;

$nn = 25; # number of simultaneous connections
$timeout = 10; # proxy request timeout (secs)

sub start_thread {
        my @args = @_;
	my $go = WWW::Mechanize->new( agent=> "Mozilla/5.0", timeout => $timeout);
	$go->proxy(['http'], 'http://'.$args[0].'/');
	print "Testing: ".$args[0]."\n";
	eval {
 	 $go->get('http://automation.whatismyip.com/n09230945.asp');
	};
	if ($@) { return; }
	$match = $go->content;
	my($crap,$ip)=split(/^(.*):/,$args[0]);
	if ($match =~ /$ip/) {
		open(LOG,">> proxy.log"); print LOG $args[0]."\n"; close(LOG);
		print "======> UP $args[0] <=======\n";
	}
}

@proxy=`cat proxy`;
$n = 0;
foreach $i (@proxy) {
chomp($i);
$thr[$n] = threads->create('start_thread', $i);
$n++;
if ($n == $nn) {
 `sleep $timeout`;
 for ($x=0; $x<$nn;$x++) {
  $thr[$x]->join();
 }
 $n = 0;
}

}

Compiz lento e CPU al 100% su Ubuntu 11.10

Dopo l’aggiornamento ad Ubuntu 11.10, Compiz presentava movimenti non fluidi delle finestre, un’utilizzo estremo della CPU e rallentamenti non trascurabili con le applicazioni video.
Per risolvere il problema è bastato disabilitare il Vertical Sync di Compiz. Per farlo installate, se non lo avete già, “ccsm”.

~$ sudo apt-get install compizconfig-settings-manager

eseguitelo ed entrate nella voce “OpenGL”

~$ ccsm

CCSM

Ora disabilitate la voce “Sincronizzare con VBlank” come nell’immagine sottostante
Sincronizzare con VBlank

Ora basta riavviare Compiz con un “killall compiz”

~$ killall compiz

o semplicemente potete riavviare la sessione.

Emesene non si connette più su Ubuntu

Da qualche giorno ci sono stati dei piccoli cambiamenti nei protocolli di Windows Live Messenger che hanno portato i più famosi client opensource a non funzionare più come prima, tra cui Emesene. Il problema è stato risolto parzialmente rilasciando una versione “fixata” di emesene.

Effettuate il download dell’archivio dall’indirizzo https://github.com/emesene/emesene/zipball/master.
Estraetelo ed entrate nella directory “emesene-emesene-*****/emesene/”.
Ora basta eseguire l’applicativo emesene ogni volta che lo desiderate.

Speriamo che venga incluso il bugfix all’interno del repository di Ubuntu, in modo da semplificare la vita a tutti