10 saniye içerisinde aynı IP adresi üzerinden 3 giriş yapıldığı anda giriş yapan nickleri KILL ile sunucudan uzaklaştırır. bu olay 100 saniye içerisinde 2 defa tekrar edildiğinde bu IP adresi üzerine GZLINE atılmaktadır. Mevcut proxy koruması üzerinden parçalayıp, alelacele koyduğum için meydana gelebilecek olan aksaklıkları bu konunun altına ileten arkadaşlara yardımcı olabilirim. clone korumasından etkilenmesini istemediğiniz ip veya ip maskesini !ipekle muaf IP veya !ipekle muaf IPMASK komutlarıyla muaf olarak ekleyebilirsiniz. ayrıca bu korumadan etkilenmesini istemediğiniz portları belirtilen satırda ekleyebilirsiniz. bu korumanın kontrol ve takibinin yapılacağı kanalı da belirtilen satırdan değiştirebilirsiniz.
Kod:
;FnX Clone Koruması
;alt satırdan kanalı belirleyebilirsiniz.
on *:start:{ hmake muaf 1000 | hload -o muaf clone.muaf | set %FnXchan #kanal }
on *:exit:{ hsave muaf clone.muaf }
on $*:snotice:/Client\sconnecting\son\sport/:{
;muaf portlar alt satırdan eklenecektir.
if $istok(7000 7001 7002 7003,$remove($8,:),32) { return }
var %FnXclone $regsubex($10,.+\x40(.+)\x29,\1)
if $hget(clonesay,%FnXclone) == 2 {
.gzline $+(*@,%FnXclone) 100 :Agresif giriş koruması.
.msg %FnXchan $c(12,[CLONE KORUMASI]) $c(3,%FnXclone) numaralı IP adresi iki kez clone korumasına takıldığından dolayı GZLINE ile uzaklaştırılmıştır. Bir IP adresini bu korumadan $c(2,!ipekle muaf 12.12.12.12) örnek komutundaki gibi muaf tutabilirsiniz.
return
}
hadd -mu10 giriş %FnXclone $+($hget(giriş,%FnXclone),$chr(215),$9)
if $numtok($hget(giriş,%FnXclone),215) == 3 && !$hfind(muaf,%FnXclone,0,W).item {
.msg %FnXchan $c(12,[CLONE KORUMASI]) $c(3,%FnXclone) numaralı IP adresi üzerinden 10 saniye içerisinde 3 giriş yapıldığı tespit edildi ve giriş yaptığı nicklere KILL atıldı. Bir IP adresini bu korumadan $c(2,!ipekle muaf 12.12.12.12) örnek komutundaki gibi muaf tutabilirsiniz. Giriş yapılan nickler: $regsubex($regsubex($regsubex($hget(giriş,%FnXclone),/\xD7/g,$chr(44)),/^\x2C/gU,),/([^\x2C])/g,$+($chr(3),04,\1,$chr(3)))
.kill $regsubex($regsubex($hget(giriş,%FnXclone),/\xD7/g,$chr(44)),/^\x2C/gU,) IP adresinizden çok sayıda giriş tespit edildi ve bağlantılarınız yenileniyor.
hdel -m giriş %FnXclone
hinc -mu100 clonesay %FnXclone
return
}
if $regex($regsubex($10,.+\x40(.+)\x29,\1),/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/g) {
var %FnX $regsubex($10,.+\x40(.+)\x29,\1)
if $hfind(muaf,%FnX,0,W).item {
.msg %FnXchan $c(0x6,MUAF GİRİŞ:) $c(2,[IP:]).b $c(2,%FnX) $c(2,[NICK:]).b $c(2,$9)
return
}
}
}
;MUAF IP EKLEME#
on $*:text:/^[.!][İiı]pekle/i:%FnXchan:{
if !$2 || !$3 || !$regex($2,/(muaf)$/i) { add-del-hata ipekle | return }
elseif $regex($2,/muaf$/i) {
hadd -m muaf $strip($3)
hsave -o muaf clone.muaf
.msg %FnXchan $c(4,$3).b $c(2,numaralı IP adresi) $c(4,muaf).b $c(2,listesine eklenmiştir.)
}
}
;MUAF IP SİLME#
on $*:text:/^[.!][İiı]ps[İiı]l/i:%FnXchan:{
if !$2 || !$3 || !$regex($2,/(muaf)$/i) { add-del-hata ipsil | return }
elseif $regex($2,/muaf$/i) {
hdel -m muaf $strip($3)
hsave -o muaf clone.muaf
.msg %FnXchan $c(4,$3).b $c(2,numaralı IP adresi) $c(4,muaf).b $c(2,listesinden silinmiştir.)
}
}
;MUAF IP LİSTELEME#
on $*:text:/^[.!][İiı]pl[İiı]st/i:%FnXchan:{
if !$2 || !$regex($2,/(muaf)$/i) { list-hata iplist | return }
elseif $regex($2,/muaf$/i) {
if $hget(muaf,0).item == 0 { .msg # Muaf listesi boş! | return }
.msg # $+(«,$c(5,Clone Muaf Listesi),»)
var %m-k 1 | while (%m-k <= $hget(muaf,0).item) { .msg %FnXchan $c(2,$+([,$c(4,$chr(215)).b,$c(2,]))) $hget(muaf,%m-k).item | inc %m-k }
.msg # $+(«,$c(5,Clone Muaf Listesi Sonu),»)
.msg # Herhangi bir kaydı silmek için örnek kullanım: $c(2,!ipsil muaf 185.9.159.247)
}
}
;KONTROL KODLARI#
alias c {
if $regex($prop,/^b$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(2),$chr(2),$chr(2),$2-,$chr(3),$chr(2)) }
if $regex($prop,/^u$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(31),$chr(2),$chr(2),$2-,$chr(3),$chr(31)) }
if $regex($prop,/^(bu)|(ub)$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(31),$chr(2),$chr(2),$chr(2),$2-,$chr(3),$chr(31),$chr(2)) }
else { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(2),$chr(2),$2-,$chr(3))) }
}
;HATA MESAJLARI#
alias add-del-hata {
.msg %FnXchan $c(4,<YANLIŞ KULLANIM>)
.msg %FnXchan Örnek komut kullanımları:
.msg %FnXchan $c(2,$+(!,$1)) $+($c(4,muaf).b).b $iif(!$regex($1,/iplist/),$c(2,185.9.39.77)))
.msg %FnXchan $c(2,$+(!,$1)) $+($c(4,muaf).b).b $iif(!$regex($1,/iplist/),$+($c(2,185.9.39.),$c(4,*).b))
}
alias list-hata {
.msg %FnXchan $c(4,<YANLIŞ KULLANIM>)
.msg %FnXchan Örnek komut kullanımı: $c(2,$+(!,$1)) $+($c(4,muaf).b $iif(!$regex($1,/iplist/),$c(2,185.9.39.77)))
}