[ProxyKiller]
;ban ayari ve log islevi
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 araligi
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 ** Hatali ip.. Class A "1" den dusuk olamaz. orn: 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 Araniyor: $+(%a¨,.,%b¨,.,%c¨,.,%d¨)
.timer_ipc 0 4 pbul
}
alias prx {
;/prx dosya.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))
}
}
;baglanti baslatici
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) }
}
;konfigurasyon yonlendirici
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
;$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) }
}
;Soket olaylari
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_)
}
}
;veri okuma
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 ] *** Bilgiler gonderildi!
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 ] *** Bilgiler Gonderildi!
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 testi
: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 Bilinmeyen ! $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 tipi ayirici
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 }
}
;ban islemi
####################################################
sisteminize entegrasyon için öneriler:
serverinize giriste gorunen ip adreslerini (1.1.1.1) formatinda
olacak bicimde $sok(1.1.1.1) kodunu snotice event’iniza ekleyin
Elle tarama icin /sok 1.1.1.1 8080
dokumandan yani txt dosyasindan taramak icin
/prx dosyaadi.txt
dosya icindeki proxyler asagidaki bicimlere uygun olmalidir
101.255.17.244:1080
103.16.112.137[bosluk]1080
103.16.112.137[tap]1080
eger genel olarak bir arama baslatmak isterseniz
ki bu normal giren kullanicilari tarama esnasinda calisabilir
/pbul 95.0.0.0
bu komut ile 95.255.255.255 araligindaki tüm iplerde proxy arayacaktir.
arama islemi port sayisina gore bir zaman belirlenmistir, boylelikle
her IP icin 25 format ve 5 formasyon(proxy,sock4,sock5 vb) deneyecektir
bu islem cok uzun surebilir, ancak kesin calisan ve anlik aktif proxyleri bulmanizi saglar.
####################################################
*/