BlueHell mIRC Script — File Browser

BlueHellmIRCScriptv1.0 / BlueHellmIRCScriptv1.0 / BlueHellScript / System / telnet.ini

telnet.ini — 9.52 KB — Download this file

[script]
n0=;;;mIRC Telnet
n1=;;;This program helps you connecting to servers (tcp or udp) and for listening ports (tcp or udp)
n2=;;;All you have to do is to type /telnet and then type the command "help"
n3=
n4=
n5=alias telnet { var %i = 1 | while ($window(@telnet $+ %i)) { inc %i } | var %w = @telnet $+ %i | window -aek0 %w | .timer 1 0 editbox %w > }
n6=alias base2hex {
n7=  var %i = 1
n8=  while ($mid($1-,%i,1) != $null) {
n9=    var %b = $asc($ifmatch)
n10=    var %c = $base(%b,10,16)
n11=    if ($len(%c) == 1) %c = 0 $+ %c
n12=    if (%b == 32) var %str = %str $+ %c $chr(32)
n13=    else var %str = %str $+ %c $chr(32)
n14=    inc %i
n15=  }
n16=  return %str
n17=}
n18=alias socki {
n19=  var %on = $1
n20=  var %of = $2
n21=  aline -ph %on 4* Socket type: $sock(%of).type $+ 
n22=  aline -ph %on 4* Socket status: $sock(%of).status $+ 
n23=  if ($sock(%of).status == listening) {
n24=    aline -ph %on 4* Bind ip: $sock(%of).bindip $+ 
n25=    aline -ph %on 4* Bind port: $sock(%of).bindport $+ 
n26=  }
n27=  aline -ph %on 4* Sent data: $getk($sock(%of).sent) KB
n28=  aline -ph %on 4* Received data: $getk($sock(%of).rcvd) KB
n29=  aline -ph %on 4* Last send message: $duration($sock(%of).ls) ago
n30=  aline -ph %on 4* Last read message: $duration($sock(%of).lr) ago
n31=  aline -ph %on 4* Open time: $duration($sock(%of).to) ago
n32=  aline -ph %on 4 $+ $str(-,32) $+ 
n33=}
n34=alias getk {
n35=  var %a = $calc($1 / 1024)
n36=  if (. !isin %a) return %a
n37=  else return $gettok(%a,1,$asc(.)) $+ . $+ $mid($gettok(%a,2,$asc(.)),1,3)
n38=}
n39=on 1:keydown:@telnet*:*:{
n40=  if ($left($editbox($active),1) != >) editbox $active >
n41=}
n42=on 1:sockopen:@telnet*:{
n43=  if ($sockerr) && ($window($sockname)) aline -ph $sockname 4* Error connecting to $sock($sockname).ip $+ : $+ $sock($sockname).port $+ 
n44=  elseif ($window($sockname)) aline -ph $sockname 4* Connected.
n45=}
n46=on 1:sockread:@telnet*:{
n47=  if (!$hget($sockname,hex)) {
n48=    var %data
n49=    sockread %data
n50=    if ($window($sockname)) { if (%data) aline -ph $sockname %data | else aline -ph $sockname $chr(160) }
n51=  }
n52=  else {
n53=    sockread &data
n54=    var %i = 0
n55=    var %max = 16
n56=    while ($bvar(&data,$iif(!$calc(%i * %max),1,$calc(%i * 16)),$calc((%i + 1) * %max))) {
n57=      var %t = $ifmatch, %t2 = $null, %x = 1
n58=      while ($gettok(%t,%x,32)) {
n59=        var %a = $base($ifmatch,10,16)
n60=        var %t2 = %t2 $iif($len(%a) == 2,%a,0 $+ %a)
n61=        inc %x
n62=      }
n63=      if ($window($sockname)) { if (%t2} aline -ph $sockname %t2 | else aline -ph $sockname $chr(160) }
n64=      inc %i
n65=    }
n66=  }
n67=}
n68=on 1:sockclose:@telnet*:{
n69=  if ($window($sockname)) aline -ph $sockname 4* The remote host closed the forgein connection.
n70=  if ($hget($sockname)) hfree $sockname
n71=}
n72=
n73=on 1:socklisten:@telnet*:{
n74=  inc -u3 $+(%,fldsocks.,$sockname) 1
n75=  if ($+(%,fldsocks.,$sockname) > 3) && ($hget($sockname,prot)) {
n76=    var %sn = refused $+ $r(1000,9999)
n77=    sockaccept %sn
n78=    if ($window($sockname)) aline -ph $sockname 4* Attemping to connect from $sock(%sn).ip (refused because of anti-flood reasons)
n79=    sockclose %sn
n80=  }
n81=  else {
n82=    var %i = 1
n83=    while ($window($sockname $+ - $+ %i)) { inc %i }
n84=    var %sn = $sockname $+ - $+ %i
n85=    sockaccept %sn
n86=    window -aek0 %sn
n87=    if ($window($sockname)) aline -ph $sockname 4* Attemping to connect from $sock(%sn).ip on %sn (accepted).
n88=    aline -ph %sn 4* Connection from $sock(%sn).ip accepted.
n89=    hadd -m %sn hex $hget($sockname,hex)
n90=  }
n91=}
n92=
n93=on 1:udpread:@telnet*:{
n94=  var %data
n95=  sockread %data
n96=  if ($hget($sockname,hex)) %data = $base2hex(%data)
n97=  if ($window($sockname)) aline -ph $sockname $chr(91) $+ $sock($sockname).ip $+ $chr(93) %data
n98=}
n99=
n100=on 1:input:@telnet*:{
n101=  if ($left($1,1) == >) {
n102=    tokenize 32 $mid($1-,2)
n103=    if ($1 == connect) {
n104=      if ($numtok($2-,32) == 3) && ($regex($2,/^-([uh]+)$/)) {
n105=        var %switch = $regml(1)
n106=        var %serv = $3
n107=        var %port = $4
n108=      }
n109=      else { var %serv = $2 | var %port = $3 }
n110=      if (u isincs %switch) var %proto = udp
n111=      else var %proto = tcp
n112=      if (h isincs %switch) hadd -m $active hex 1
n113=      else hadd -m $active hex 0
n114=      if ($sock($active)) echo 4 -a * This session is already used.
n115=      elseif (!%serv) || (!%port) echo 4 -a * Syntax: >connect [-uh] <serv> <port>
n116=      elseif (%proto == tcp) { sockopen $active %serv %port | echo 4 -a * Connecting to %serv $+ : $+ %port }
n117=      elseif (%proto == udp) { echo 4 -a * Set %serv $+ : $+ %port as udp server. | hadd -m $active udpserv %serv | hadd -m $active udpport %port }
n118=    }
n119=    elseif ($1 == listen) {
n120=      if ($numtok($2-,32) == 2) && ($regex($2,/^-([uh]+)$/)) {
n121=        var %switch = $regml(1)
n122=        var %port = $3
n123=      }
n124=      else var %port = $2
n125=      if (u isincs %switch) var %proto = udp
n126=      else var %proto = tcp
n127=      if (h isincs %switch) hadd -m $active hex 1
n128=      else hadd -m $active hex 0
n129=      if (f isincs %switch) hadd -m $active prot 1
n130=      else hadd -m $active prot 0
n131=      if ($sock($active)) echo 4 -a * This session is already used.
n132=      elseif (!%port) echo 4 -a * Syntax: >listen [-uh] <port>
n133=      elseif (!$portfree(%port)) aline -ph $active 4* Port in use.
n134=      elseif (%proto == udp) { sockudp -k $active %port | aline -ph $active 4* Now listening to port %port (udp) | hadd -m $active udpserv 127.0.0.1 | hadd -m $active udpport %port }
n135=      elseif (%proto == tcp) { socklisten $active %port | aline -ph $active 4* Now listening to port %port (tcp) }
n136=    }
n137=    elseif ($1 == conns) {
n138=      if ($sock($active).status != listening) aline -ph $active 4* This is not a listening session.
n139=      elseif ($sock($active $+ *-*,0) == 0) aline -ph $active 4* No opened connections.
n140=      else {
n141=        var %i = 1
n142=        while ($sock($active $+ *-*,%i)) {
n143=          var %a = $ifmatch
n144=          aline -ph $active 4* Window: %a $+ 
n145=          socki $active %a
n146=          inc %i
n147=        }
n148=      }
n149=    }
n150=    elseif ($1 == kill) {
n151=      if (!$2) var %w = $active
n152=      else var %w = @ $+ $2
n153=      sockclose %w
n154=      if ($window(%w)) window -c %w
n155=    }
n156=    elseif ($1 == exit) { if (!$sock($active)) && (!$hget($active,udpserv)) echo 4 -a * Not connected to server. | else { sockclose $active | if ($hget($active)) hfree $active | echo 4 -a * Disconnected. | if (- isin $active) window -c $active } } 
n157=    elseif ($1 == help) {
n158=      aline -ph $active 4* >connect [-uh] <server> <port>
n159=      aline -ph $active $str($chr(160),4) $+ Let's you connect to servers.
n160=      aline -ph $active $str($chr(160),4) $+ -u switch means you want to connect to server via udp (instead of tcp)
n161=      aline -ph $active $str($chr(160),4) $+ -h switch means the read data from the server is shown as hex (base 16)
n162=      aline -ph $active 4* >listen [-uhf] <port>
n163=      aline -ph $active $str($chr(160),4) $+ Let's you listen to ports.
n164=      aline -ph $active $str($chr(160),4) $+ -u switch means you want to listen to udp (instead of tcp)
n165=      aline -ph $active $str($chr(160),4) $+ -h switch means the read data is shown as hex (base 16)
n166=      aline -ph $active $str($chr(160),4) $+ -f switch means flood protection (it will refuse connections if there are more than 3 in 3 seconds)
n167=      aline -ph $active 4* >exit
n168=      aline -ph $active $str($chr(160),4) $+ Close connection with server.
n169=      aline -ph $active 4* >conns
n170=      aline -ph $active $str($chr(160),4) $+ View connections opened by the listening port (working only for tcp)
n171=      aline -ph $active 4* >kill [window]
n172=      aline -ph $active $str($chr(160),4) $+ Closes the connection of window and closes the window (if window is not specified, it's assumed the current window)
n173=      aline -ph $active 4* >state
n174=      aline -ph $active $str($chr(160),4) $+ View the state of the current connection.
n175=      aline -ph $active 4* >new
n176=      aline -ph $active $str($chr(160),4) $+ Opens a new telnet window.
n177=      aline -ph $active 4* >clear
n178=      aline -ph $active $str($chr(160),4) $+ Clears this screen.
n179=      aline -ph $active 4* >help
n180=      aline -ph $active $str($chr(160),4) $+ Show this help.
n181=      aline -ph $active 4 $+ $str(-,32) $+ 
n182=    }
n183=    elseif ($1 == new) telnet
n184=    elseif ($1 == state) {
n185=      if ($sock($active)) {
n186=        socki $active $active
n187=      }
n188=      else aline -ph $active 4* Not connected.
n189=    }
n190=    elseif ($1 == clear) clear
n191=    else {
n192=      if ((!$sock($active)) && (!$hget($active,udpserv))) || ($sock($active).status == listening) echo 4 -a * Not connected to server.
n193=      else {
n194=        if ($sock($active).type == tcp) sockwrite -n $active $1-
n195=        else sockudp -n $active $hget($active,udpserv) $hget($active,udpport) $1-
n196=        if ($hget($active,hex)) aline -ph $active 4> $base2hex($1- $+ $crlf)
n197=        else aline -ph $active 4> $1-
n198=      }
n199=    }
n200=    editbox $active >
n201=  }
n202=}