All pastes #499292 Raw Edit

Untitled

public text v1 · immutable
·published 2007-05-21 00:09 UTC
rendered paste body
on *:TEXT:*:*:{
    if ($1 == %trig $+ dnsip) {
      set %ipaddchan $chan
      if ( $gettok($2,1,46) isnum 1-99 ) {
        set %resolved $2
        iplocate
      }
      elseif ( $gettok($2,1,$chr(10)) isletter abcdefghijklmnopqrstuvwxyz ) {
      set %dns.chan $chan | set %dns.lookup $2 | .dns $2 }
    }  }

on *:DNS:{
  if ($raddress == $null) { msg # $+ %ipaddchan 9,1( 0Err9or 14,1º0,1 IP could not be resolved. 9) | halt }
  set %resolved $raddress
  iplocate
}
ALIAS iplocate {
  set %iploc 1
  sockclose iploc
  sockopen iploc dnsstuff.com 80
}
ALIAS halnohtml var %haltmp , %i = $regsub($1-,/(<[^>]+>)/g,$chr(32),%haltmp) | return %haltmp
on *:SOCKOPEN:iploc: {
  sockwrite -n $sockname GET /tools/ipall.ch?ip= $+ %resolved HTTP/1.1
  sockwrite -n $sockname Host: www.melissadata.com
  sockwrite -n $sockname User-agent: mIRC/ $+ $version
  sockwrite -n $sockname $crlf
}

on *:SOCKREAD:iploc: {
  if ($sockerr > 0) { return }
  var %haltmp | sockread %haltmp
  while ($sockbr) {
    if ( *City (per outside source):* iswm %haltmp ) {
      set %ipcity $gettok($remove($halnohtml(%haltmp),$chr(40) $+ per,outside,source $+ $chr(41),city,$chr(58)),1,44))
      set %ipstate $gettok($remove($halnohtml(%haltmp),$chr(40) $+ per,outside,source $+ $chr(41),city,$chr(58)),2,44))
      msg %ipaddchan 9,1( 0IP9:0 %resolved 14,1º0,1 Location9:0 %ipcity $+ , %ipstate %ipcountry 9)
    }
    if ( *Country (per outside source):* iswm %haltmp ) {
      set %ipcountry $remove($halnohtml(%haltmp),$chr(40) $+ per,outside,source $+ $chr(41),city,$chr(58),$chr(91),$chr(93),US,Country)))
      inc %iploc
    }
    set %mytemp $halnohtml(%haltmp)
    sockread %haltmp
  }
}