chan probe — File Browser

chanprobev0.0 / chanprobev0.0 / chanprobe.mrc

chanprobe.mrc — 3.16 KB — Download this file

;# ..script : chanprobe
;# ..author : ryun
;# ..email  : ryun@planetarymotion.net
;# ..coment : the coding aint to great, but it works...

alias chanprobe { if ($1) { dialog -m chan.probe chan.probe | did -a chan.probe 3 $1 } }
alias probe.err { if ($1) { dialog -m port.err port.err | did -a port.err 2 $1- } }
alias probe.tit { if ($1) { dialog -t chan.probe chanprobe - $1- } }
alias probe.nick { return $remove($1,probe.) }
alias probe.close { sockclose probe.* | probe.stat | did -b chan.probe 7 | did -e chan.probe 6 }
alias probe.start { if ((%probe.chan) && (%probe.port)) { if (%probe.chan !ischan) { probe.err %probe.chan is not a valid chan... | return } | if ($nick(%probe.chan,0) == 1) && ($me == $nick(%probe.chan,1)) { probe.err Uhh what you gonna do scan your self? try /run netstat -a | return } | unset %probe.i | set %probe notnull | did -e chan.probe 7 | did -b chan.probe 6 | who %probe.chan } | else { probe.err Fill in the blanks... } } 
alias probe.stat { if ($sock(probe.*,0) == 0) { probe.tit Done Scanning.. %probe.chan for %probe.port | return } | probe.tit Scanning.. %probe.chan | .timerprobscan 1 5 probe.close }
dialog chan.probe {
  title "chanprobe"
  size -1 -1 300 350 option dbu
  list 11,145 2 150 200,extsel
  list 1,2 2 145 200,extsel
  box "",99,2 190 293 150
  text "channel:",33,27 205 100 20,none 
  edit "",3,27 220 150 22,autohs
  text "port:",44,200 205 100 20,none 
  edit "",4,200 220 50 22,autohs
  box "",66,10 260 275 60
  button "Probe",6,25 280 65 25,default
  button "Stop",7,115 280 65 25,default
  button "Cancel",2,200 280 65 25,cancel
}
dialog port.err {
  title "chanprobe - Error"
  size -1 -1 200 100 option dbu
  button "OK",1,65 73 65 25,cancel
  box "",3,2 1 198 65
  text "",2,5 25 190 28,center
}
on 1:dialog:chan.probe:*:*: {
  if ($devent == init) { did -f chan.probe 3 | did -b chan.probe 7 | unset %probe.* }
  if ($devent == dclick) { 
    if ($did == 1) { clipboard $did($dname,11,$did($dname,1).sel).text }
    if ($did == 11) { clipboard $did($dname,1,$did($dname,11).sel).text }
  }
  if ($devent == edit) { 
    if ($did == 3) { set %probe.chan $did(chan.probe,3).text }
    if ($did == 4) { set %probe.port $did(chan.probe,4).text }
  }
  if ($devent == sclick) {
    if ($did == 11) { did -c $dname 1 $did($dname,11).sel }
    if ($did == 1) { did -c $dname 11 $did($dname,1).sel }
    if ($did == 2) { unset %probe.* }
    if ($did == 6) { probe.close | did -r $dname 1 | did -r $dname 11 | probe.start }
    if ($did == 7) { probe.close }
  }
}
on 1:sockopen:probe.*: { if ($sockerr) { goto end } | did -a chan.probe 1 $probe.nick($sockname) | did -a chan.probe 11 $sock($sockname).ip | goto end | :end | sockclose $sockname | probe.stat }
on 1:sockclose:probe.*: { probe.stat }
raw 352:*: { if (%probe) { if (*x iswm $4) { set %probe.xxx damn | halt } | haltdef | if ($6 != $me) { sockopen probe. [ $+ [ $6 ] ] $4 %probe.port | probe.stat $6 }  } }
raw 315:*: { if (%probe) { if (%probe.xxx) { unset %probe.xxx | probe.err The ips you probed are masked | probe.close | if ($sock(probe.*,0) == 0) { goto end } } | haltdef | probe.tit got nicks for probe... | :end | unset %probe | halt } }

;# ..eOF