Protection Botnet

By RaiNBoW_Six on Dec 31, 2011

this protection build by Or this protect from NOTICE CTCP JOINFLOOD NICK FLOOD and textFlood

alias bk {
  ban -k %fChan $gettok($1,1,32) Join Flood!
  dline %twinC $fline(%twinC,$1)
}
alias sk {
  kline $gettok($1,1,32) - :Botnets Flood!
  dline %twinS $fline(%twinS,$1)
}
alias nk {
  ban -k %NChan $gettok($1,1,32) Notice Flood!
  dline %twinCN $fline(%twinCN,$1)
}
alias tk {
  ban -k %TChan $gettok($1,1,32) Text Flood!
  dline %twinCT $fline(%twinCT,$1)
}
alias pk {
  ban -k %PChan $gettok($1,1,32) Ctcp Flood!
  dline %twinCP $fline(%twinCP,$1)
}

alias nck {
  var %i = 1
  while ($comchan($gettok($1,1,32),%i)) {
    ban -k $ifmatch $gettok($1,1,32) Nick Flood!
    inc %i
  }
  dline %twinCk $fline(%twinCk,$1)
}

on !*:join:#:{
  if ($me !isop $chan) { return }
  var %winC = @joinF
  if (!$window(%winC)) { window -h %winC }
  var %resjoin = $calc($ctime - $gettok($fline(%winC,* $chan,$fline(%winC,* $chan,0)).text,2,32))
  if (%resjoin > 3) && ($fline(%winC,* $chan)) { dline %winC $fline(%winC,* $chan,$fline(%winC,* $chan,0)) }
  if ($fline(%winC,$nick * $chan)) { rline %winC $fline(%winC,$nick * $chan) $nick $ctime $chan }
  else { aline %winC $nick $ctime $chan }
  if (($fline(%winC,* $chan,0) >= 4) || (%autoJ. [ $+ [ $chan ] ] && $fline(%winC,* $chan,0))) {
    set %fChan $chan
    set %twinC %winC
    filter -wk %winC bk * $chan
    set -u2 %autoJ. [ $+ [ $chan ] ] 1
    halt
  }

  var %winJP = @joinFP
  if (!$window(%winJP)) { window -h %winJP }
  var %timeJP = $calc($ctime - $gettok($fline(%winJP,$nick * $chan,$fline(%winJP,$nick * $chan,0)).text,2,32))
  if (%timeJP > 4) && ($fline(%winJP,$nick * $chan)) { dline %winJP $fline(%winJP,$nick * $chan,$fline(%winJP,$nick * $chan,0)) }
  aline %winJP $nick $ctime $chan
  if ($fline(%winJP,$nick * $chan,0) >= 3) {
    ban -k # $nick Join Flood!
    filter -cwx %winJP %winJP $nick * $chan
  }
}

on *:snotice:*Client connecting*:{
  var %winS = @connectF
  if (!$window(%winS)) { window -h %winS }  
  var %sre = $calc($ctime - $gettok($fline(%winS,* $serverip,$fline(%winS,* $serverip,0)).text,2,32))
  if (%sre > 3) && ($fline(%winS,* $serverip)) { dline %winS $fline(%winS,* $serverip,$fline(%winS,* $serverip,0)) }
  if ($fline(%winS,$9 * $serverip)) { rline %winS $fline(%winS,* $serverip) $9 $ctime $serverip }
  else { aline %winS $9 $ctime $serverip }
  if (($fline(%winS,* $serverip,0) >= 3) || (%autoS. [ $+ [ $serverip ] ])) {
    set %twinS %winS
    filter -wk %winS sk * $serverip
    set -u2 %autoS. [ $+ [ $serverip ] ] 1
  }
}

on *:nick:{
  var %winCk = @nickF
  if (!$window(%winCk)) { window -h %winCk } 
  var %snck = $calc($ctime - $gettok($fline(%winCk,* $serverip *,$fline(%winCk,* $serverip *,0)).text,2,32))
  if (%snck > 3) && ($fline(%winCk,* $serverip *)) { dline %winCk $fline(%winCk,* $serverip *,$fline(%winCk,* $serverip *,0)) }
  if ($fline(%winCk,* $serverip $5)) { rline %winCk $fline(%winCk,* $serverip $5) $newnick $ctime $serverip $nick }
  else { aline %winCk $newnick $ctime $serverip $nick }
  if (($fline(%winCk,* $serverip *,0) >= 3) || (%autonck. [ $+ [ $serverip ] ])) {
    set %twinCk %winCk
    filter -wk %winCk nck * $serverip *
    set -u2 %autonck. [ $+ [ $serverip ] ] 1
  } 

  var %winNKP = @nickFP
  if (!$window(%winNKP)) { window -h %winNKP }
  var %timeNKP = $calc($ctime - $gettok($fline(%winNKP,$wildsite * $serverip,$fline(%winNKP,$wildsite * $serverip,0)).text,2,32))
  if (%timeNKP > 3) && ($fline(%winNKP,$wildsite * $serverip)) { dline %winNKP $fline(%winNKP,$wildsite * $serverip,$fline(%winNKP,$wildsite * $serverip,0)) }
  aline %winNKP $wildsite $ctime $serverip
  if ($fline(%winNKP,$wildsite * $serverip,0) >= 5) {
    ban -k # $newnick Join Flood!
    filter -cwx %winNKP %winJP $wildsite * $serverip
  }
}

on *:notice:*:#:{ 
  if ($me !isop $chan) { return }
  var %winN = @noticeF
  var %Nvar = $iif($hash($strip($1-),32),$v1,1)
  if (!$window(%winN)) { window -h %winN }
  var %resnot = $calc($ctime - $gettok($fline(%winN,* %Nvar $chan,$fline(%winN,* %Nvar $chan,0)).text,2,32))
  if (%resnot > 5) && ($fline(%winN,* %Nvar $chan)) { dline %winN $fline(%winN,* %Nvar $chan,$fline(%winN,* %Nvar $chan,0)) }
  if ($fline(%winN,$nick * $chan)) { rline %winN $fline(%winN,$nick * $chan) $nick $ctime %Nvar $chan }
  else { aline %winN $nick $ctime %Nvar $chan }
  if (($fline(%winN,* %Nvar $chan,0) >= 3) || (%autoN. [ $+ [ $chan ] $+ [ %Nvar ] ])) {
    set %NChan $chan
    set %twinCN %winN
    filter -wk %winN nk * %Nvar $chan    
    set -u2 %autoN. [ $+ [ $chan ] $+ [ %Nvar ] ] 1
  }

  var %winNP = @noticeFP
  if (!$window(%winNP)) { window -h %winNP }
  var %timeNP = $calc($ctime - $gettok($fline(%winNP,$nick * $chan,$fline(%winNP,$nick * $chan,0)).text,2,32))
  if (%timeNP > 3) && ($fline(%winNP,$nick * $chan)) { dline %winNP $fline(%winNP,$nick * $chan,$fline(%winNP,$nick * $chan,0)) }
  aline %winNP $nick $ctime $chan
  if ($fline(%winNP,$nick * $chan,0) >= 5) {
    ban -k # $nick Notice Flood!
    filter -cwx %winNP %winNP $nick * $chan
  }
} 

on *:text:*:#:{
  if ($me !isop $chan) { return }
  var %winT = @textF
  var %Tvar = $iif($hash($strip($1-),32),$v1,1)
  if (!$window(%winT)) { window -h %winT }  
  var %restext = $calc($ctime - $gettok($fline(%winT,* %Tvar $chan,$fline(%winT,* %Tvar $chan,0)).text,2,32))
  if (%restext > 5) && ($fline(%winT,* %Tvar $chan)) { dline %winT $fline(%winT,* %Tvar $chan,$fline(%winT,* %Tvar $chan,0)) }
  if ($fline(%winT,$nick * $chan)) { rline %winT $fline(%winT,$nick * $chan) $nick $ctime %Tvar $chan }
  else { aline %winT $nick $ctime %Tvar $chan }
  if (($fline(%winT,* %Tvar $chan,0) >= 3) || (%autoT. [ $+ [ $chan ] $+ [ %Tvar ] ])) {
    set %TChan $chan
    set %twinCT %winT
    filter -wk %winT tk * %Tvar $chan
    set -u2 %autoT. [ $+ [ $chan ] $+ [ %Tvar ] ] 1
  }

  var %winTP = @textFP
  if (!$window(%winTP)) { window -h %winTP }
  var %timeTP = $calc($ctime - $gettok($fline(%winTP,$nick * $chan,$fline(%winTP,$nick * $chan,0)).text,2,32))
  if (%timeTP >= 1) && ($fline(%winTP,$nick * $chan)) { dline %winTP $fline(%winTP,$nick * $chan,$fline(%winTP,$nick * $chan,0)) }
  aline %winTP $nick $ctime $chan
  if ($fline(%winTP,$nick * $chan,0) >= 9) {
    ban -k # $nick Text Flood!
    filter -cwx %winTP %winTP $nick * $chan
  }
}

ctcp *:*:#:{
  if ($me !isop $chan) { return }
  var %winP = @ctcpF
  var %Cvar = $iif($hash($strip($1-),32),$v1,1)
  if (!$window(%winP)) { window -h %winP } 
  var %resctcp = $calc($ctime - $gettok($fline(%winP,* %Cvar $chan,$fline(%winP,* %Cvar $chan,0)).text,2,32))
  if (%resctcp > 5) && ($fline(%winP,* %Cvar $chan)) { dline %winP $fline(%winP,* %Cvar $chan,$fline(%winP,* %Cvar $chan,0)) }
  if ($fline(%winP,$nick * $chan)) { rline %winP $fline(%winP,$nick * $chan) $nick $ctime %Cvar $chan }
  else { aline %winP $nick $ctime %Cvar $chan }
  if (($fline(%winP,* %Cvar $chan,0) >= 3) || (%autoP. [ $+ [ $chan ] $+ [ %Cvar ] ])) {
    set %PChan $chan
    set %twinCP %winP
    filter -wk %winP pk * %Cvar $chan
    set -u2 %autoP. [ $+ [ $chan ] $+ [ %Cvar ] ] 1
  }

  var %winCP = @ctcpFP
  if (!$window(%winCP)) { window -h %winCP }
  var %timeCP = $calc($ctime - $gettok($fline(%winCP,$nick * $chan,$fline(%winCP,$nick * $chan,0)).text,2,32))
  if (%timeCP > 3) && ($fline(%winCP,$nick * $chan)) { dline %winCP $fline(%winCP,$nick * $chan,$fline(%winCP,$nick * $chan,0)) }
  aline %winCP $nick $ctime $chan
  if ($fline(%winCP,$nick * $chan,0) >= 5) {
    ban -k # $nick Ctcp Flood!
    filter -cwx %winCP %winCP $nick * $chan
  }
}

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.