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=}