User:Pibot/TOR blocking script

From RationalWiki
Jump to: navigation, search
use LWP::Simple;
use MediaWiki::API;
use MediaWiki::Bot;
 
$TOR=get("http://www.torproxylist.com/plain.php");
 
chomp $TOR;
 
$user = 'Pibot'; my $pass = '*******';
$editor=MediaWiki::Bot->new($user);
 
$editor->set_wiki('rationalwiki.com','wiki');
 
$editor->login($user,$pass);
 
@proxies=split(/\<br\>/,$TOR);
 
$message="We're sorry, but you seem to be editing from a TOR proxy address, if you think you've received this message in error, please email: pirationalwiki(at)gmail.com";
 
$text="Currently blocked IP addresses suspected of being TOR exit nodes.\n";
 
$t=2;
while($proxies[$t]){
if($proxies[$t]=~/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/){
	if($proxies[$t]=~/[a-z]/){
			@finer=split(/\,\ /,$proxies[$t]);
			while(<@finer>){
				if($_=~/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/){
						$test=$editor->test_blocked($_);
                  				if($test==0){
                     					$editor->block($_,'1 week',$message,0,1,0,0);
							$text=$text.$_."\n"
                    				}
				}
			}
		}
	else{
			$test=$editor->test_blocked($proxies[$t]);
          		if($test==0){
            		$editor->block($proxies[$t],'1 week',$message,0,1,0,0);
			$text=$text.$proxies[$t]."\n"
	    					}
           }
}
$t=$t+1;
}
 
$editor->edit('User:Pibot/TOR Proxies',$text);
Personal tools
Namespaces

Variants
Actions
Navigation
Community
Tools
support