User:Pibot/TOR blocking script
From RationalWiki
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);