IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   ProxyKiller v2.0 MN (https://www.ircforumlari.net/mirc-scripting-sorunlari/387712-proxykiller-v20-mn.html)

RegSubex 27 Mart 2011 17:11

ProxyKiller v2.0 MN
 
selam arkadaşlar bu kodu mirc koruma kodu yapabilirmiyiz

kanala ayrı bir giriş değilde mirc koruma kodu menü şeklinde yapamazmıyız

CoCoRiCo arkadaşımıza kod için teşekkürler

Kod:

/*
****************************************
ProxyKiller v2.0 MN                    *
Turkish made, Author by CoCoRiCo      *
---------------------------------------*
This protection is using on big network*
(M)ulti  (N)etwork  Proxy  scanner  and*
Sockbot  structure  on  mIRC 09/01/09  *
****************************************
 
Aliases "/"command:
a = load servers
b = connect all
c = reset all
d = debug out sock window
e = debug echoing window
f = from language
g  [ + @ -] | [ < > ] = config file cpu
l = [g - k] X:line for ban
s = sock writer
conf = main alias
 
#########################################
*/
 
;#Config aliases:
alias conf {
  GOTO $1
  :server {
    ; return $a
    return 192.168.1.1:6667 192.168.1.2:7000
 
  }
  :nick {
    ;return $+(Bot_,$left($md5($ticks),$r(3,8)))
    return $+($r(a,z),$r(a,z),$left($md5($ticks),$r(3,8)))
  }
  :me {
    return  ProxyKiller
  }
  :ident {
    return $+($r(a,z),$r(a,z),$left($md5($ticks),$r(3,8)),@,syrix.net)
  }
  :usern {
    return $+(:,$read($script,3))
  }
  :nicpass {
    return nickpss
  }
  :operpass {
    return admin operpass  }
  :umodes {
    return +SsBRDc-G +sFSc
  }
  :excempt {
    return 192.168.1.2 192.168.1.1
  }
  :banreason {
    return Proxy sux!.
  }
  :domain {
    return syrix.net
  }
  :controthle {
    return 5
  }
  :prxport {
    ;return 80 81 443 9090 3128 8080 8090 3124 3127 1080 25 5001 1214
    return 80 33 31 47 56 54 70 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 7777 8080 8000 8001 8118 8888 8922  9090 10102 10777 10886 217745 26260 30247 31337 36417 39641 44322 49531 59759
  }
  :conport {
    return 443
  }
  :ajoin {
    return #status
  }
  :timeoutsec {
    return 3
  }
  :dns {
    ;1=Open \ 0=Close
    return 1
  }
  :cfile {
    return config.txt
  }
}
 
alias a {
  var %a = 1
  while %a <= $ini($conf(cfile),servers,0) {
    %servers = $addtok(%servers,$readini($conf(cfile),servers,$+(n,%a)),32)
    inc %a
  }
  return  %servers
  unset %servers
}
alias b {
  var %s = 1
  while %s <= $gettok($conf(server),0,32) {
    if $sock($+($conf(me),%s)).status != active {
      $iif($sock($+($conf(me),%s)),.sockclose $sock($+($conf(me),%s)))
      if !$sock($+($conf(me),%s),1).name {
        $+(.timer,_ct,%s) 1 $calc($conf(controthle) + %s) .sockopen $+($conf(me),%s) $replace($gettok($conf(server),%s,32),$chr(58),$chr(32))
      }
    }
    inc %s
  }
}
alias c {
  sockclose $+(*,$conf(me),*)
  var %i = 1
  while %i <= $gettok($conf(server),0,32) {
    if !$sock($+($conf(me),%i),1).name {
      $+(.timer,_ctc,%i) 1 $calc($conf(controthle) + %i) .sockopen $+($conf(me),%i) $replace($gettok($conf(server),%i,32),$chr(58),$chr(32))
    }
    inc %i
  }
  .timer_c 0 10 b
}
alias d {
  if ($hget(debug,debug) == acik) {
    echo *** Debug Closed
    hadd -m debug debug kapali
    hsave -i debug $conf(cfile)
    e -c
    return
  }
  :b
  if ($hget(debug,debug) == kapali) {
    echo *** Debug Open
    hadd -m debug debug acik
    hsave -i debug $conf(cfile)
    return
  }
  if !$hget(debug,debug) {
    err Debug Config line missing..! Actualy standart debug config making.
    hadd -m debug debug acik
    hsave -i debug $conf(cfile)
    hload -i debug $conf(cfile)
    goto b
    return
  }
  if !$1 { hload -i debug $conf(cfile) }
  if $1 == -i && $2 && !$3 {
    if !$isalias($2) {
      err Aliases function not found!, Plaease make first aliases function then use this command!.
    }
    if $isalias($2) {
      hadd -m dalias debugal $2
      err *** Debug outputing $2 function.
    }
  }
}
alias e {
  if $hget(debug,debug) == acik {
    $iif(!$window($+(@db-,$1)),window -fen $+(@db-,$1),aline $+(@db-,$1) <-- $1- )
    $iif($hget(dalias,debugal),$hget(dalias,debugal) $1-)
  }
  if $1 == -c { close -@ }
}
alias f {
  ;flush alias
 
}
alias g {
  /*
  ;+
  if $1 == $chr(43) && $3 {
    hadd -m $2 $3-
    hsave -i $2 $conf(cfile)
    hload -i $2 $conf(cfile)
  }
  ;-
  if $1 == $chr(45) {
    hfree  $2 $3- 
    hsave -i $2 $conf(cfile)
    hload -i $2 $conf(cfile)
  }
  ;@
  if $1 == $chr(64) { return $hget($2,$3-) }
  */
  ;<
  if $1 == $chr(60) { writeini $cofn(cfile) $1 $2- }
  ;<
  if $1 == $chr(62) { return $readini($cofn(cfile),$1,$2-) }
  if !$1  { hload -i c $conf(cfile) | echo *** Config file load }
  ;/
  if $1 == $chr(47) { hadd -m m $2- }
  ;\ 
  if $1 == $chr(92) { return $hget(m,$2) }
  ;!
  if $1 == $chr(33) { return hfree m }
 
}
alias l {
  ;ceza <1=sname> <2=time> <3=ip> <4=reason>
  ;cr only
  var %year = 525941
  var %month = 43829
  var %week = 10080
  var %day = 1440
  var %hour = 60
  var %min = 1
  if $right($2,1) == Y && $left($2,$calc($len($2) -1)) isnum { var %exp $calc($gettok($2,1,$asc(y)) * %year) }
  if $right($2,1) == A && $left($2,$calc($len($2) -1)) isnum { var %exp $calc($gettok($2,1,$asc(a)) * %month) }
  if $right($2,1) == W && $left($2,$calc($len($2) -1)) isnum { var %exp $calc($gettok($2,1,$asc(w)) * %week) }
  if $right($2,1) == D && $left($2,$calc($len($2) -1)) isnum { var %exp $calc($gettok($2,1,$asc(d)) * %day) }
  if $right($2,1) == H && $left($2,$calc($len($2) -1)) isnum { var %exp $calc($gettok($2,1,$asc(h)) * %hour }
  if $right($2,1) == M && $left($2,$calc($len($2) -1)) isnum { var %exp $calc($gettok($2,1,$asc(m)) * %min) }
  if $hget(Sver,Server) == CR {
    s $1 KLINE $3 $4- %exp
    s $1 AKILL $3 $4- %exp
    return
  }
  if $hget(Sver,Server) == Unreal {
s $1 GZLINE $2 $3 $4
    return 
  }
  else {
s $1 KLINE $3 0 $4 -
  }
}
alias s {
  $iif($window(@db-,$1),echo $+(@db-,$1) ---> $1- )
  if $sock($1).status == active { sockwrite -nt $1- }
}
alias err {
  echo :: 4,8 DATA $1-
}
##Event
on *:START: { c | g }
ON *:SOCKOPEN:*: {
  ;echo :: $sockerr
  ;###System open sock
  if $+(*,$conf(me),*) iswm $sockname {
    var %n $conf(nick)
    s $sockname NICK %n 
    g / $sockname %n
    ; ident "domain" "ip" :user
    s $sockname USER $+($iif(!$gettok($conf(ident),1,$asc(@)),$conf(ident),$gettok($conf(ident),1,$asc(@))),$chr(32),",$iif(!$gettok($conf(ident),2,$asc(@)),$conf(domain),$gettok($conf(ident),2,$asc(@))),",$chr(32),",$iif(!$ip,127.0.0.1,$ip),",$chr(32),$conf(usern))
  }
  ;##proxy sock
  if *prx-* iswm $sockname {
    if ($sockerr) { sockclose $sockname | return }
    echo 2 Proxy: $chr(32)4Port: $sock($sockname).port - $sock($sockname).ip 4Type: $sock($sockname).type 4N\A: $portfree($sockerr)
    if $sock($sockname).port isin $conf(conport) {
      ;normal web
      s $sockname GET / HTTP/1.1
      s $sockname Host: $gettok($sockname,2,$asc(=)) $v2 $+ $str($crlf,2)
      s $sockname Referer: $+($conf(me),$chr(40),User:,$sockname,$chr(41))
      s $sockname User-Agent: Mozilla/4.6 [tr] $+($chr(40),Win,$os,;,$chr(32),I,$chr(41)) 
      /*
      s $sockname Accept-Encoding: gzip, deflate
      s $sockname Accept-Language: tr
      s $sockname Connection: Keep-Alive
      s $sockname Cache-Control: no-cache
      s $sockname $crlf
      */
      ;poxy connect
      s $sockname CONNECT $+(irc.,$conf(domain),:666,$r(0,9)) HTTP/1.0 $str($crlf,2)
      s $sockname $crlf
      ;proxy web
      s $sockname GET $+(HTTP://,
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
HTTP/1.0 $str($crlf,2)
      s $sockname $crlf
      /*   
      */
    }
    if ($portfree($sockerr)) && $sock($sockname).port !isin $conf(conport) {
      ;%D detayli - %S standart
      var %D $+($conf(BanReason),~,$gettok($sock($sockname).ip,1-3,$asc(.)),.,$str(*,$len($gettok($sock($sockname).ip,-1,46))),:,$sock($sockname).port)
      var %Q $conf(BanReason)
 
      l $gettok($sockname,1,$asc(~))  $+(*@,$sock($sockname).ip) 1d %D
      .sockclose $+(*,$gettok($sockname,2,$asc(=)),*)
    }
  }
}
ON *:SOCKREAD:*: {
  var %s
  ;##system sock
  if $+(*,$conf(me),*) iswm $sockname {
    sockread %s
    tokenize 32 %s
    ;##DEBUG
    if $hget(debug,debug) == acik { e $sockname $1- }
    echo :sil:debug: $1-
    ;##PING!PONG?
    if $1 == PING { s $sockname PONG $2- }
    ;##RAWs   
    if $2 isnum { 
      if $2 == 001 {
        ;  g / $sockname $gettok($1-,-1,32)
      }
      if $2 == 004 {
        ;server version
        if *Unreal?.* iswm $2- { hadd -m Sver Server Unreal | return }
        if ConferenceRoom isin $2- { hadd -m Sver Server CR | return }
        else { hadd -m Sver Server diger | return }
      }
      if $2 == 005 {
        s $sockname OPER $conf(operpass)
        s $sockname JOIN 0,
        .timer 1 5 s $sockname JOIN $replace($conf(ajoin),$chr(44),$chr(32))
      }
      if $2 == 302 {
        ;user host
      }
      if $2 == 376 || $2 == 422 {
        ;end motd -  motd yok
      }
      if $2 == 381 {
        ;now oper
        s $sockname NICK  $sockname
        if $hget(Sver,Server) == CR { var %sj FJOIN | .timer 1 5 $sockname UMODE +fc }
        if $hget(Sver,Server) == Unreal {
          var %sj SAJOIN $sockname
          .timers 1 5 $sockname $conf(umodes)
        }
        else { var %sj JOIN }
        s $sockname %sj $replace($conf(ajoin),$chr(44),$chr(32))
      }
      if $2 == 491 || $2 == 464 {
        ;non oper
        err $sockname $1-
      }
      if $2 == 433 {
        ;nick in use
        err $2-
      }
    } ;end raw
 
    ;##SCOMMAND
    if $2 == NICK {
      if $remove($gettok($1,1,$asc(!)),:) == $g(\,$sockname) {
        ;bot nick <$me> function
        if $remove($3,:) != $g(\,$sockname) && $+($conf(me),*) !iswm $remove($3,:) {
          g / $sockname $remove($3,:)
          if $sockname != $remove($3,:) {
            s $sockname NICK $sockname
            g / $sockname $remove($3,:)
          }
          $iif($g(\,$sockname) != $sockname,$+(.timer,$sockname) 0 5 s $sockname NICK $sockname)
        }
      }
      ; if $remove($3,:) != $g(\,$sockname) && $+($conf(me),*) == $remove($3,:) { err :no:19  }
      else {
        ;end more
      }
    } ;#end Scommands
 
    ;##SNOTICE
    if *Notice*--*Client*connecting*on*port* iswm $5- {
      var %ip = $remove($gettok($13,2,64),$chr(40),$chr(41),$chr(64))
      ;server ip noscan - excemp ip'ler
      if !$regex($conf(server),(%pi)) && !$regex($conf(excempt),(%pi)) {
        var %pi = 1
        while (%pi <= $gettok($conf(prxport),0,32)) {
          var %ki = $gettok($conf(prxport),%pi,32)
          var %pxn = $+($sockname,~prx-,%ki,=,%ip)
          if !$sock(%pxn,1).name {
            sockopen %pxn %ip %ki
            $+(.timer,%pxn) 1 $conf(timeoutsec) .sockclose %pxn
            if $conf(dns) { .dns %ip }
          }
          inc %pi
        }
      }
      if *Notice?Client?connecting* iswm $5- || *Client?exiting:* iswm $5- {
        $iif(!$window(@G\C),window -fen @G\C,aline @G\C $1-)
      }
 
    } ;#end Snotice
 
    ;##PRIVMSG
    if $2 === PRIVMSG {
      err ----> $1-
      if :FINGER === $4 {
        if $3 == $sockname || $left($3,1) == $chr(35) {
          if !$hget(finger,$sockname) {
            hinc -mu10 finger $sockname
            $iif($remove($gettok($1,1,$asc(!)),:) != $sockname,s $sockname NOTICE $remove($gettok($1,1,$asc(!)),:) $+(:,$chr(1),FINGER,$chr(32),$conf(usern),$chr(32),$chr(40),$emailaddr,$chr(41),$chr(32),Idle,$chr(32),$idle,$chr(1)))
          }
        }
      }
      if $4 === :VERSION && !$5 {
        if $3 == $sockname || $left($3,1) == $chr(35) {
          if !$hget(Fversion,$sockname) {
            hinc -mu8 Fversion $sockname
            $iif($remove($gettok($1,1,$asc(!)),:) != $sockname,s $sockname NOTICE $remove($gettok($1,1,$asc(!)),:) $+(:,$chr(1),VERSION,$chr(32),mIRC,$chr(32),v,$version,$chr(32),Khaled,$chr(32),Mardam-Bey,$chr(1)))
          }
          if $hget(Fversion,$sockname) {
            ;diger
          }
        }
      }
    } ;#end Privmsg
 
    ;##Scanner Sock
    if *prx-* iswm $sockname {
      if $sock($sockname).port isin $conf(conport) {
        sockread %s
        if  *<?>* iswm %s || *-*:* iswm %s  {
          echo :REAL-SITE: %s
          ;real web
          ; .sockclose $sockname
          return
        }
        if $regex(%s,.*HTTP\/1\.. 200 .*) {
          echo :PROXY-SITE: %s 
          echo : s $gettok($sockname,1,$asc(~)) privmsg os akill add +1d $+(*@,$sock($sockname).ip) $+($conf(BanReason),~,$left($sock($sockname).ip,-3),$str(*,$len($gettok($sock($sockname).ip,-1,46))),:,$sock($sockname).port )
        }
        if *<?>* iswm %s && $regex(%s,.*HTTP ERROR: 501 Method+NICK+.*) {
          echo :WEB-PROXY-SITE: %s 
          echo : s $gettok($sockname,1,$asc(~)) privmsg os akill add +1d $+(*@,$sock($sockname).ip) $+($conf(BanReason),~,$left($sock($sockname).ip,-3),$str(*,$len($gettok($sock($sockname).ip,-1,46))),:,$sock($sockname).port )
        }
        else {
          echo :--: %s
          ; echo : s $gettok($sockname,1,$asc(~)) privmsg os akill add +1d $+(*@,$sock($sockname).ip) $+($conf(BanReason),~,$left($sock($sockname).ip,-3),$str(*,$len($gettok($sock($sockname).ip,-1,46))),:,$sock($sockname).port )
          ; return
        }
      }
      if $sock($sockname).port !isin $conf(conport) {
        sockread %s
      }
      if $sockerr > 0 { err $sock($sockname).wserr | return }
      ;echo 4 -s :-> $sock($sockname).ip $sock($sockname).port
      .sockclose $sockname
    }
  }
}
 
alias tr {
  var %prx $ticks
  .dns $1
  var %ip  $1
  var  %pi = 1
  while (%pi <= $gettok($conf(prxport),0,32)) {
    var %ki = $gettok($conf(prxport),%pi,32)
 
    var %pxn = $+($2,~prx-,%ki,=,$1)
    if !$sock(%pxn,1).name {
      sockopen %pxn %ip %ki
      $+(.timer,%pxn) 1 $conf(timeoutsec) sockclose %pxn
    }
    inc %pi
  }
}


RegSubex 30 Mart 2011 15:36

Cevap: ProxyKiller v2.0 MN
 
uzun kodlarla kimse uğraşmak istemio :D:D bu kodda denmişki

Önceki etkili sürümün geliştirilmiş hali, modem ve gercek kullanıcıları ayırt edebilme yetisine sahip

gercek kullanıcıyı nasıl ayırt ediyor bu ayırıcıyı diğer korumalarda kullanamazmıyız ban zline gline vs kodlarımızda örnek bir küfür korumasını bu ayırıcıyla örnek olarak bizimle paylaşırmısınız

CoCoRiCo 31 Mart 2011 02:16

Cevap: ProxyKiller v2.0 MN
 
Bu kodun mantıgını anlamadıgın için karnından konusabilirsin seni anlıyorum..
Bu kodun işlevi cok basittir.. sunucuya giren her ip(her kişi)'nin ön görülen port listesindeki
portları girme denemesi mantıgı ile calısır..(bir diger deyişle port tarayıcı) zaten proxy kullanımıda aynı mantıkla yürür..

Bu portlar sunuculara giren kişilerde acıksa girmeye zorlayacaktır.. Sayet veri alırsa..
bu tıpkı web sitelerindeki gibi.. ve dönen verilere bakar.. buraya kadar anladıgını düşünerek..
Buradan sonra da; tüm modemlerde oldugu gibi ilk sayfa login sayfası olup,
sifre ve kullanıcı adı gibi bir giriş formuna sahip.. gercek bir kullanıcı buradan anlasılır..
proxyler modem giriş sifresi sormaz.. Normal kullanıcılarında 80-81 portları dısında portların acık olmasıda anormaldir.. (modem girişleri 80 yada 81 portla acıktır)
Kendi ip adresine [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yada 81 yazarak görebilirsin..

Burada gercek kullanıcı bu sekilde ayırt edilir.. Proxy nedir bilmedigin için
kodunda mantıgını anlamanıda beklemiyorum, pişkin pişkin konusarakta
komik duruma düştügünü bu cevaplada anlamıs olmanı temenni ediyorum.

Ayrıc kod tek basına zaten düz bir mirc'e on*:start:b kodu eklendiginde tüm ayarları düzgünce yapılmışsa baslı başına bi BOT'tur.

----------

İlave olarak eksik kalan soruna bir cevap vereyim.. Evet bilinmemeli ancak gercek ve gercek olmayan kullanıcıları ayırt etmek cok basittir.. aslında buda kodun içinde
bunu kod yazarı arkadaslar eminim anlayacaklardır.. bilende zaten biliyordur.

RegSubex 31 Mart 2011 08:45

Cevap: ProxyKiller v2.0 MN
 
bukonusma sana yakıstımı peki kod için teşekkür ettik soru sorduk emeğini calmadık edit yapmadık madem yardım istemek suc bu bölüm niye var artı adminsin nediyim TEBRİKLER


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 14:50.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net