ProxyKiller 3.0 SE

By CoCoRiCo on Nov 25, 2015

TestServer=irc.chatfox.net
TestServerIP=107.161.19.71
KontrolPort=80 8080 1080 3124 3127 3128 8000 9050 443
Some commonly used ports
Ban=1
0 Echo | 1 Gzline
0 will be projected on the screen only. LOG will be turned on if the following entries.
Log=1
If this value is 1, which will record daily proxies
Entries will be registered as took day-month-year.txt.
Komut=GZline
;for socket bots exmp: "sockwrite -tn bot_name kline"

copy and use.. good luck, have fun :)

[ProxyKiller]
TestServer=irc.chatfox.net
;login attempt will be made as a proxy server (must be active)
TestServerIP=107.161.19.71
;login attempt will be made to the server's IP address (if you dont know /dns irc.servername.com)
KontrolPort=80 8080 1080 3124 3127 3128 8000 9050 443
;favorite ports are up and some of the commonly used ports
;1046 1080 1182 1183 1184 1188 1214 1278 1279 1745 1795 2124 2172 2173 2174 2175 2301 3128 3124 3127 3743 4095 4480 4747 5463 6588 8080 8000 8001 8118 8888 8922 9090
Ban=1
;0 Echo | 1 Gzline
;0 will be projected on the screen only. LOG will be turned on if the following entries.
Log=1
;If this value is 1, which will record daily proxies
;Entries will be registered as took day-month-year.txt.
Komut=GZline
;for socket bots exmp: "sockwrite -tn bot_sock_name kline"
Version=3.0SE
Ahuthor=CoCoRiCo/Umit*GUNDUZ
[/ProxyKiller]

/*
####################################################
Recommendations for integration into your system:
ip address appearance of the entrance to serverice (1.1.1.1) in the format
will be put on my $sok(1.1.1.1) add code snot of your event
To manually scan /sok 1.1.1.1 8080

To scan documents (.txt etc.)

/prx filename.txt 
the proxy must be on file in the following formats such as
101.255.17.244:1080
103.16.112.137[space]1080
103.16.112.137[tap]1080

if you want to start a general search
users who can operate normally during this scan

/pbul 95.0.0.0 

In all the strings in the range 95.255.255.255 with this command will search for the proxy.
is determined according to the number of port calls took time time, so
Each IP format and 5 on the 25 formation (proxy sock4, sock5 etc.) will try
this procedure is very long as they wish, but precise and instantaneous active work to find the right for proxies.

####################################################
*/

;ban setting and log function
alias banz {
  $iif($conf(Ban) = 1,$conf(commandline),echo 3) $+(*@,$sock($1).ip)  $+($tip($1),$regsubex($sock($1).ip,/(\d+$)/i,$+($str(*,$len(\t)),:,$+(*@,$sock($1).port)))) 
  if $conf(log) { write $+($replace($date,/,-),.txt) $+($sock($1).ip,:,$sock($1).port) }
  sockclose $1
}

;ip range
alias pbul {
  if $regex(ip,$1,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g) {
    if $gettok($1,1,46) < 1 { echo ** Error ip.. Class A "1" can not be the lowest. exm: 1.0.0.0 | return }
    set %d¨ $gettok($1,4,46) |  set %c¨ $gettok($1,3,46) | set %b¨ $gettok($1,2,46) |  set %a¨ $gettok($1,2,46)
  }
  $iif(!%d¨,set %d¨ 0) 
  ;class D
  $iif(!%c¨,set %c¨ 0) 
  ;class C
  $iif(!%b¨,set %b¨ 0) 
  ;class B
  $iif(!%a¨,set %a¨ 1) 
  ;class A
  if %d¨ < 256  { inc %d¨ }
  if %d¨ == 256 && %c¨ < 256 { inc %c¨ | unset %d¨ }
  if %c¨ == 256 && %b¨ < 256 { inc %b¨ | unset %d¨,%c¨ }
  if %b¨ == 256 && %a¨ < 256 { inc %a¨ | unset %b¨,%c¨,%d¨ }
  if %a¨ == 256 && %a¨ < 256 { inc %a¨ | unset %b¨,%c¨,%d¨ }
  if %a¨ == 255 && %b¨ == 255 && %c¨ == 255 && %d¨ == 255 { echo : IP Tamamlandi | unset %*¨* }
  $iif(!%d¨,set %d¨ 0) 
  $iif(!%c¨,set %c¨ 0)
  $iif(!%b¨,set %b¨ 0) 
  $iif(!%a¨,set %a¨ 1)
  sok $+(%a¨,.,%b¨,.,%c¨,.,%d¨)
  titlebar :Sock&Proxy searching:  $+(%a¨,.,%b¨,.,%c¨,.,%d¨)
  .timer_ipc 0 4 pbul
}
alias prx {
  ;/prx file.txt 
  ;> 1.1.1.1 3128
  if $1 { var %dos $1 }
  var %i 0
  while %i < $lines(%dos) { 
    inc %i | sok $replace($read(%dos,%i),:,$chr(32),$chr(9),$chr(32)) 
  }
}
;connection starter
alias sok {
  if $regex($2,/(\d+)/) {
    var %typ $iif( $gettok(%port,%i`,32) == 443,sockopen -e,sockopen)
    if $gettok(%port,%i`,32) == 9050 { 
      %typ $+(Tor~,$1,:,$2)  $1 $2   
    }
    %typ $+(sock4~,$1,:,$2)  $1 $2
    %typ $+(sock5~,$1,:,$2) $1 $2
    %typ $+(proxy~,$1,:,$2) $1 $2
    %typ $+(proxyGet~,$1,:,$2) $1 $2
    %typ $+(proxyPOST~,$1,:,$2) $1 $2
  }
  if !$2 {
    var %port $conf(conport)
    var %i` 1,%$1 $1
    while %i` < $gettok(%port,0,32) {
      var %typ $iif( $gettok(%port,%i`,32) == 443,sockopen -e,sockopen)
      var %s_  $+(%$1,:,$gettok(%port,%i`,32)) %$1 $gettok(%port,%i`,32)
      if  $gettok(%port,%i`,32)  == 9050 { %typ Tor~ $+ %s_   }
      else {
        %typ sock4~ $+ %s_ 
        %typ sock5~ $+ %s_ 
        %typ proxy~ $+ %s_
        %typ proxyGet~ $+ %s_
        %typ proxyPOST~ $+ %s_ 
      }
      inc %i`
    }
  }
}
;ini & mrc fix
alias readini_ {
  if $regex($script,/(\.ini$)/) { return $gettok($read($script, w, $+(*,$3,=*)),-1,61) }
  else { return $readini($1,$2,$3) }
}
;configuration router
alias conf {
  goto $1 
  :serverip { return $readini_($script,proxykiller,TestServerIP)  } 
  :server { return $readini_($script,ProxyKiller,TestServer) } 
  :port { return $gettok($+(666,$r(5,9)) 7000,$r(1,2),32) }
  :conport { return $readini_($script,proxykiller,KontrolPort) }
  :ban { return $readini_($script,proxykiller,ban) }
  :commandline { return $readini_($script,proxykiller,komut) }
}

;random nick!ident@*:user for test operations
;$ren(3,15)
alias ren {
  var %l' $r($1,$2),%s' a e i o u,%a' . b c d f g h j k l m n p r s t v x w y z . 
  :r 
  var %k' $addtok(%k', $gettok(%a',$r(1,$numtok(%a',32)),32),32) 
  if $len(%k') < %l'  goto r 
  if  $len(%k') >= %l' return $regsubex($regsubex(%k',/(\W)/ig,$gettok(%s',$r(1,$numtok(%s',32)),32)),/([a-f]|[c-g]|[x-z])/g,$iif($r(1,10) > 5,$upper(\t),\t)) 
}
;$ran(nick,user,host,ident)
alias ran {
  if $1 == nick {  return $ren(1,13) }
  if $1 == user {  return $gettok($regsubex($left($md5($ticks),$r(3,20)),/(.)/g,$iif(5 \\ \n,\t $left($+($r(a,z),$md5($ticks)),$r(3,11)))),2-,32) }
  if $1 == ident {  return $ren(1,13) } 
  if $1 == host { return $ren(1,10) }
}

;Socket events
on *:sockopen:*:{ 
  echo 4 OPEN Soket: $replace($sockname,~,$+($chr(32),Method:,$chr(32)))
  var %s sockwrite -nt $sockname
  if ($sockerr > 0) { sockclose $sockname | return }
  if *sock5~* iswm $sockname {
    bset &bb5 1 5 1 0
    sockwrite -n $sockname &bb5
    bunset &bb5 
  }
  if *sock4~* iswm $sockname {
    bset &b4 1 4 1 $gettok($longip($conf(port)),3,46) $gettok($longip($conf(port)),4,46) $replace($conf(serverip),.,32) 0 
    sockwrite $sockname &b4 
    bunset &b4 
  }
  if *Proxy~* iswm $sockname  {
    %s CONNECT  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
    %s $crlf
    sockrename $sockname $replace($sockname,proxy~,proxy_)
  }
  if *ProxyGet~* iswm $sockname  {
    %s GET  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
    %s $crlf
    sockrename $sockname $replace($sockname,proxyGet~,Gproxy_) 
  }
  if *ProxyPOST~* iswm $sockname {
    %s POST  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
    %s $crlf
    sockrename $sockname $replace($sockname,proxyPOST~,PostProxy_) 
  }
  if *Tor~* iswm $sockname {
    %s CONNECT  $+($conf(server),:,$conf(port)) HTTP/1.0 $str($crlf,2)
    %s $crlf
    sockrename $sockname $replace($sockname,ProxyTor~,ProxyTor_)
  }
}
;data reader event
on *:sockread:*:{ 
  if $sockbr { sockclose $sockname | return } 
  if *sock*~* iswm $sockname {
    if *sock5~* iswm $sockname {
      sockread &sock5 
      if ($bvar(&sock5,1,2) == 5 0)  {
        bset &sock5 1 5 1 0 1 $replace($conf(serverip),.,$chr(32)) $gettok($longip(6667),3,46) $gettok($longip(6667),4,46)
        sockwrite -n $sockname &sock5 | bunset &sock5 
        sockrename $sockname $replace($sockname,sock5~,sock5:)
      }
    }
    if *sock4~* iswm $sockname {
      sockread &s4 
      if $regex($bvar(&s4,2),/(9[1|2|3])/g) {  echo **  Sock4 Error : $bvar(&s4,2) @ $sockname | sockclose $sockname | return }
      if $bvar(&s4,2) == 90 { 
        echo 3 [ $sockname ] *** information send!
        sockwrite -tn $sockname CAP LS
        var %nk $ran(nick)
        sockwrite -tn $sockname NICK %nk
        sockwrite -tn $sockname USER $ran(nick) 0 * : $ran(user)
        sockrename $sockname $replace($sockname,sock4~,$+(sock4_,%nk,_)) 
      } 
    }
  }
  if *sock5:* iswm $sockname  {
    echo 3 [ $sockname ] *** information send!
    sockwrite -tn $sockname CAP LS
    var %nk $ran(nick)
    sockwrite -tn $sockname NICK %nk 
    sockwrite -tn $sockname USER $ran(nick) 0 * : $ran(user)
    if *sock5:* iswm $sockname { .sockrename $sockname $replace($sockname,sock5:,$+(sock5_,%nk,_)) }
  }
  ;sock test
  :data
  if *sock*_* iswm $sockname {
    :-
    sockread -f &d 
    if ($sockbr == 0) return
    var %f $bvar(&d,1-).text
    tokenize 32 %f
    echo :SOCK: %f
    if *PING* iswm %f {
      sockwrite -nt $sockname PONG $gettok(%f,2,$asc(:))
    }
    if *NOTICE*AUTH* iswm %f { 
      echo 4,8 Sock OK!  $sockname
      banz $sockname
    }
    if *proxy* iswm %f { 
      echo 4,8 unknown !  $sockname 
      banz $sockname
    }
    goto - 
  }
  ; proxy testi
  if *proxy* iswm $sockname || *Tor_* iswm $sockname {
    :.
    if ($sockbr == 0) return
    sockread -f %p 
    tokenize 32 $1-
    echo :PROXY: $sockname %p

    if *HTTP*Connection*established* iswm %p {
      var %nk $ran(nick)
      sockwrite -tn $sockname NICK %nk 
      sockwrite -tn $sockname USER $ran(nick) 0 * : $ran(user)
    }
    if *PING* iswm %p {
      echo 4,8 Proxy OK!  $sockname
      linesep
    }
    if *proxy* iswm %p {
      echo 4,8 Bilinmeyen !  $sockname
      banz $sockname
    }
    if *TOR* iswm %p {
      echo 4,8 TOR OK!  $sockname
      banz $sockname
      linesep
    }
    if *NOTICE*AUTH* iswm %p {
      echo 4,8 Proxy OK!  $sockname
      banz $sockname
      linesep
    }
    goto .
  }
}
;Proxy type delimiter
alias -l tip {
  if *sock4_* iswm $1 { return Sock4 }
  if *sock5_* iswm $1 { return Sock5 }
  if *ProxyGet* iswm $1 { return Proxy GET }
  if *ProxyPost* iswm $1 { return Proxy Post }
  if *Tor* iswm $1 { return Proxy TOR }
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.