;nps = Nick Pass Scanner written by Free on #mirc undernet for Paul^^ on #funfactory..... finished on Aug 15 1998 ;Enter either an IP address with or without the preceeding *!* ;or enter a nickname which may or maynot be present in the IAL ;THIS MUST BE LOADED as a SCRIPT FILE ;Use /load -rs c:\path\spy.mrc or /load -rs $findfile($mircdir,spy.mrc,1) ;You receive back people with the same user@host and the people on the same @domain echo'ed to your status window. ;Also you receive the info in a Custom window called @spy which has it's own cute little popup on 1:open:?:if ($comchan($nick,0) == 0) { .enable #spy | userhost $nick } #spy off raw 302:*: haltdef | set %nps.addr $gettok($2,2,43) | set %nps.away $iif($left(%nps.addr,1) == +,Not Away,Away) | set %nps.addr $right(%nps.addr,$calc($len(%nps.addr) -1)) | if ($left(%nps.addr,1) == ~) { set %nps.addr $right(%nps.addr,$calc($len(%nps.addr) -1)) } | set %nps.mask $gettok($2,1,61) $+ ! $+ %nps.addr | echo 4 -a $gettok($2,1,61) from2 %nps.addr 4is currently2 %nps.away 4and is not on any channels as me. Do a Spy check on him - his addresses are2 $mask(%nps.mask,3) 4or2 $mask(%nps.mask,4) | .disable #spy | halt #spy end #spyNick on raw 401:*: echo 6 -a $2 No such nickname :( | haltdef raw 302:*: haltdef | set %nps.addr $gettok($2,2,43) | set %nps.addr $right(%nps.addr,$calc($len(%nps.addr) -1)) | if ($left(%nps.addr,1) == ~) { set %nps.addr $right(%nps.addr,$calc($len(%nps.addr) -1)) } | set %nps.mask $gettok($2,1,61) $+ ! $+ %nps.addr | set %nps.IP $mask(%nps.mask,3) | set %nps.Domain $mask(%nps.mask,4) | .disable #spyNick | spynick #spyNick end alias spy { :spyStartAgain set %nps.IP $?="Enter IP address to scan" if (%nps.IP != $null) { if ($left(%nps.IP,3) != *!*) { set %nps.IP *!* $+ %nps.IP } if (@ !isin %nps.IP) { set %nps.IP $left(%nps.IP,3) $+ @ $+ $right(%nps.IP,$calc($len(%nps.IP) - 3)) if ($?!="The IP you entered needs a @ in it. $crlf $+ Is this the right way ? $crlf $+ %nps.IP ") { } | else { goto spyStartAgain } } set %nps.Domain $mask(%nps.IP,4) } if (%nps.IP == $null) { set %nps.nick $?="Enter Nickname to scan" set %nps.IP %nps.nick if (%nps.IP != $null) { set %nps.Domain $address(%nps.IP,4) | set %nps.IP $address(%nps.IP,3) if ((%nps.Domain == $null) || (%nps.IP == $null)) { .enable #spynick | userhost %nps.nick | halt } } } if (%nps.IP == $null) { echo 6 -a You didn't enter anyone to scan :P } | else { spyNick } } alias spyNick { if (%nps.IP != $null) { set %nps.IP.Number $ial(%nps.IP,0) set %nps.Domain.Number $ial(%nps.Domain,0) if (%nps.IP.Number = 0) { echo 2 -a No one mathcing the IP %nps.IP in your IAL now | halt } set %nps.count 1 set %nps.IP.Echo $true unset %nps.IP.ALL | unset %nps.Domain.ALL | unset %nps.IP.ALL.List | unset %nps.Domain.ALL.List :checkingIAL set %nps.IP.ALL.List %nps.IP.ALL.List -- &&& -- $ial(%nps.IP,%nps.count) set %nps.Domain.ALL.List %nps.Domain.ALL.List -- &&& -- $ial(%nps.Domain,%nps.count) if ($window(@Spy) == $null) { window -l @Spy 1 93 325 176 @Spy MS Serif 11 | /titlebar @spy Red = perfect Match } if ($ial(%nps.IP,%nps.count) != $null) { aline 4 @spy $ial(%nps.IP,%nps.count) } if (($ial(%nps.Domain,%nps.count) != $null) && ($ial(%nps.IP,%nps.count) == $null)) { aline 5 @Spy $ial(%nps.Domain,%nps.count) } inc %nps.count if ((%nps.count > %nps.IP.Number) && (%nps.IP.Echo)) { set %nps.IP.Echo $false if (%nps.IP.Number == 1) { echo 4 -s There is %nps.IP.Number person in your IAL matching %nps.IP and they are %nps.IP.ALL.List } else { echo 4 -s There are %nps.IP.Number people in your IAL matching %nps.IP and they are %nps.IP.ALL.List } } if (%nps.count <= %nps.Domain.Number) { goto checkingIAL } | else { if (%nps.Domain.Number == 1) { echo 9 -s There is %nps.Domain.Number person in your IAL matching Domain %nps.Domain and they are %nps.Domain.ALL.List | aline 1 @Spy ********* END *********** | halt } else { echo 9 -s There are %nps.Domain.Number people in your IAL matching Domain %nps.Domain and they are %nps.Domain.ALL.List | aline 1 @Spy ********* END *********** | halt } } } echo 6 -a No Such nickname, sorry ! :P } menu @spy { dclick whois $strip($gettok($line($active,$$1),1,33)) | echo 3 -s WHOIS $line($active,$$1) Spy Pops .Kick $strip($gettok($line($active,$sline($active,1).ln),1,33)) from $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) :kick $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) $strip($gettok($line($active,$sline($active,1).ln),1,33)) This is a preventive kick for suspected Nick Passing .Ban $strip($gettok($line($active,$sline($active,1).ln),1,33)) in $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) :ban $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) $strip($gettok($line($active,$sline($active,1).ln),1,33)) 3 .Ban and Kick $strip($gettok($line($active,$sline($active,1).ln),1,33)) from $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) :ban $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) $strip($gettok($line($active,$sline($active,1).ln),1,33)) 3 | timer 1 5 kick $comchan($strip($gettok($line($active,$sline($active,1).ln),1,33)),1) $strip($gettok($line($active,$sline($active,1).ln),1,33)) This is a preventive kick for suspected Nick Passing .Query $strip($gettok($line($active,$sline($active,1).ln),1,33)) :/query $strip($gettok($line($active,$sline($active,1).ln),1,33)) .Entry Options:{ aline @spy 6============================================ aline @spy 14Enter an 4IP14 address or 4Nick14name to scan aline @spy 14The IP address can be in the forms aline @spy 2*!*user@host.domain 14OR2 user@host.domain aline @spy 2*!*@host.domain 14OR2 @host.domain aline @spy 2*!*host.domain 14OR2 host.domain OR *domain aline @spy 14If the IP address is blank a Nickname entry field comes up next. aline @spy 6============================================ } }