mircscripting.info Forum Index mircscripting.info
#mIRCscripting Forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Ass-Kicking Mass-Moding Botnet-Killing Channel Floodpro
Goto page 1, 2  Next
 
Post new topic   Reply to topic    mircscripting.info Forum Index -> Addons
View previous topic :: View next topic  
Author Message
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Fri Feb 18, 2005 11:59 pm    Post subject: Ass-Kicking Mass-Moding Botnet-Killing Channel Floodpro Reply with quote

This Script Protects Channels against the following types of bot flood :

1) Message Repeat Flood
2) Notice Repeat Flood
3) Part Message Repeat Flood
4) CTCP Flood
5) Revolving Door Flood
6) Randomized Nickname Flood

#'s 1 thru 4 and #6 will activate +ml-vvvv on the 6th repeat/join,
and on the 7th and after repeat/join, it will mass kickban (+bbbbbb)
The +m lasts for 2 minutes, and is reset to its previous state.

#5 will trigger and massban after the 10th join/part


Ops are excluded from floodpro checking
Users with custom level "exempt" are excluded from floodpro checking
i.e. /auser exempt *!*@your.ip.or.host

** For Advanced Users Only **

If your flood problems are constant or on a regular basis... during a flood - you can type /autoshit in the channel. This will turn on an auto-shitlister for one minute. Anyone joining the channel during that minute will be added to userlist with level SHITLIST with mask *!*@host and will be immediately kickbanned. In the future when shitlisted users join, they will be mass kickbanned.

If you are going to use the autoshit command, make SURE you know how to edit your userlist (alt+r, users tab) so you can remove an innocent user who just joined at the wrong time (during the flood + autoshit).

Code:

; [f]loat[l]imi[t] alias, returns current # of users on chan + 2
alias flt {
  set %getlim $nick($$1,0)
  return %getlim
}

alias fl {
  set %getlim $nick($$1,0)
  set %floatlim $calc(%getlim + 2)
  return %floatlim
}


; [d]evoice[m]oderate[f]loatlimit alias
alias dmf {
  set %dmf.chan $1
  unset %dmf.plus*
  tokenize 32 $2-
  if (m !isin $chan(%dmf.chan).mode) {
    set %dmf.plusm 1
  }
  if (l !isin $chan(%dmf.chan).mode) {
    set %dmf.plusl 1
  }
  if ((%dmf.plusm) && (%dmf.plusl)) {
    if ($1) {
      mode %dmf.chan +ml-vvvv $flt(%dmf.chan) $1-4
    }       
    else {
      mode %dmf.chan +ml $flt(%dmf.chan)
    }
    .timerunsetdmf. [ $+ [ %dmf.chan ] ] 1 120 mode %dmf.chan -m+l $fl(%dmf.chan)
  }
  else if ((%dmf.plusm) && (!%dmf.plusl)) {
    if ($1) {
      mode %dmf.chan +m-vvvv $1-4
    }       
    else {
      mode %dmf.chan +m
    }
    .timerunsetdmf. [ $+ [ %dmf.chan ] ] 1 120 mode %dmf.chan -m
  }
  else if ((!%dmf.plusm) && (%dmf.plusl)) {
    if ($1) {
      mode %dmf.chan +l-vvvv $flt(%dmf.chan) $1-4
    }       
    else {
      mode %dmf.chan +l $flt(%dmf.chan)
    }
    .timerunsetdmf. [ $+ [ %dmf.chan ] ] 1 120 //mode %dmf.chan +l $fl(%dmf.chan)
  }
  else if ($1) {
    mode %dmf.chan -vvvv $1-4
  }
}

; alias floodshiftnicks
alias fsn {
  set %fsn.4 %fsn.3
  set %fsn.3 %fsn.2
  set %fsn.2 %fsn.1
  set %fsn.1 $$1
  set %fsn %fsn.1 %fsn.2 %fsn.3 %fsn.4
  .timerunsetfsn 1 15 unset %fsn
}

; [m]ass[b]an alias
alias mb {
  if (%mb.chan) {
    if (%mb.chan != $$1) {
      mode %mb.chan + $+ $str(b,$numtok(%mb.masks,32)) %mb.masks
      unset %mb.masks
    }
  }
  set -u10 %mb.chan $$1
  tokenize 32 $2-
  while ($1) {
    set %x 1
    set %mb.ibl.total $ibl(%mb.chan,0)
    set %mb.ibl.check 0
    set %mb.ibl.address $address($1,2)
    while (%x <= %mb.ibl.total) {
      if ($ibl(%mb.chan,%x) == %mb.ibl.address) {
        set %mb.ibl.check 1
      }
      inc %x 1
    }
    if (!%mb.ibl.check) {
      set %mb.masks $addtok(%mb.masks,$address($1,2),32)
    }
    tokenize 32 $2-
    if ($numtok(%mb.masks,32) == 6) {
      mode %mb.chan + $+ $str(b,$numtok(%mb.masks,32)) %mb.masks
      .timermbban off
      unset %mb.masks
    }
  }
  if (%mb.masks) {
    .timermbban 1 1 mode %mb.chan + $+ $str(b,$numtok(%mb.masks,32)) %mb.masks
    .timermbban2 1 1 unset %mb.masks
  }
}

; [m]ass[k]ick alias
alias mk {
  set %mk.chan $$1
  tokenize 32 $2-
  while ($1) {
    inc -u30 %mk 5
    .timermk. [ $+ [ $1 ] ] 1 5 mk2 %mk.chan $1
    tokenize 32 $2-
  }
}


; since /mk starts a timer, /mk2 checks to see if they're
; still there before kicking when kick timer(s) trigger(s)
alias mk2 {
  if ($2 ison $1) {
    inc %mkotal 1
    kick $1 $2 %mkotal
  }
}

; [m]ass[k]ick[b]an
alias mkb {
  mb $1-
  mk $1-
}

on shitlist:join:#:{
  mkb $chan $nick
}

alias autoshit {
  set -u60 %auto.shitlist. [ $+ [ $$1 ] ] 1
  msg $$1 Auto-Shitlisting anyone joining for the next 60 seconds
}

on @*:join:#:{
  if (%auto.shitlist. [ $+ [ $chan ] ] == 1) {
    auser shitlist $address($nick,2)
    mkb $chan $nick
  }
  else if ($regex($nick,/\d\d\d+$/)) {
    inc -u15 %random.nick. [ $+ [ $chan ] ] 1
    fsn $nick
    if (%random.nick [ $+ [ $chan ] ] == 6) {
      dmf $chan %fsn
    }
    if (%random.nick [ $+ [ $chan ] ] == 7) {
      mkb $chan %fsn
    }
    if (%random.nick [ $+ [ $chan ] ] > 7) {
      mkb $chan $nick
    }
  }
}

on @*:text:*:#:{
  if (($nick isop $chan) || (exempt isin $level($address($nick,2)))) halt
  if ($hget(text.floodpro, $chan) == $1-) {
    fsn $nick
    inc -u15 %repeat.counter. [ $+ [ $chan ] ] 1
    if (%repeat.counter. [ $+ [ $chan ] ] == 6) {
      dmf $chan %fsn
    }
    if (%repeat.counter. [ $+ [ $chan ] ] == 7) {
      mkb $chan %fsn $nick
    }
    if (%repeat.counter. [ $+ [ $chan ] ] > 7) {
      mkb $chan $nick
    }
  }
  hadd -m text.floodpro $chan $1-
}

on @*:action:*:#:{
  if (($nick isop $chan) || (exempt isin $level($address($nick,2)))) halt
  if ($hget(text.floodpro, $chan) == $1-) {
    fsn $nick
    inc -u15 %repeat.counter. [ $+ [ $chan ] ] 1
    if (%repeat.counter. [ $+ [ $chan ] ] == 6) {
      dmf $chan %fsn
    }
    if (%repeat.counter. [ $+ [ $chan ] ] == 7) {
      mkb $chan %fsn $nick
    }
    if (%repeat.counter. [ $+ [ $chan ] ] > 7) {
      mkb $chan $nick
    }
  }
  hadd -m text.floodpro $chan $1-
}

on @*:notice:*:#:{
  if (($nick isop $chan) || (exempt isin $level($address($nick,2)))) halt
  if ($hget(text.floodpro, $chan) == $1-) {
    fsn $nick
    inc -u15 %repeat.counter. [ $+ [ $chan ] ] 1
    if (%repeat.counter. [ $+ [ $chan ] ] == 6) {
      dmf $chan %fsn
    }
    if (%repeat.counter. [ $+ [ $chan ] ] == 7) {
      mkb $chan %fsn $nick
    }
    if (%repeat.counter. [ $+ [ $chan ] ] > 7) {
      mkb $chan $nick
    }
  }
  hadd -m text.floodpro $chan $1-
}

on @*:part:#:{
  if (exempt isin $level($address($nick,2))) halt
  inc -u60 %revolving.door.floodpro. [ $+ [ $chan ] ] 1
  if (%revolving.door.floodpro. [ $+ [ $chan ] ] > 10) {
    mb $chan $nick
  }
  else if ($hget(text.floodpro, $chan) == $1-) {
    inc -u15 %repeat.counter. [ $+ [ $chan ] ] 1
    if (%repeat.counter. [ $+ [ $chan ] ] == 6) {
      dmf $chan %fsn
    }
    if (%repeat.counter. [ $+ [ $chan ] ] > 6) {
      mb $chan $nick
    }
    hadd -m text.floodpro $chan $1-
  }
}

ctcp *:*:#:{
  if ($me isop $chan) {
    if (exempt isin $level($address($nick,2))) halt
    inc -u60 %repeat.counter.ctcp. [ $+ [ $chan ] ] 1
    if (%repeat.counter.ctcp. [ $+ [ $chan ] ] == 6) {
      dmf $chan
    }
    if (%repeat.counter.ctcp. [ $+ [ $chan ] ] > 6) {
      mkb $chan $nick
    }
  }
}


ENJOY! Smile--~


Last edited by SeeknDestroy on Thu Oct 12, 2006 9:56 am; edited 21 times in total
Back to top
View user's profile Send private message Visit poster's website
CanonJoe
Major


Joined: 27 Dec 2003
Posts: 133
Location: Canada

PostPosted: Sat Feb 19, 2005 12:54 pm    Post subject: Reply with quote

Is this a flood script or flood protection script? Because if it is a flood script, please remove your post. That's not the kind of script that should be posted here. We don't want to be associated with bullshinanigans like that. Won't help people in the chan when they come in and ask for help with something like that. So why would we post scripts of the same kind on our forums?
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
holospoof
Major


Joined: 14 Jan 2004
Posts: 103

PostPosted: Sat Feb 19, 2005 5:33 pm    Post subject: Reply with quote

canonjoe if you were that good of a scripter you would have an eye for that kind of thing, of course its not a flood script, its a flood protection script.. you should probably remove your post so you dont look like a moron
_________________
blah!^!@^$^^
Back to top
View user's profile Send private message Visit poster's website
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Sat Feb 19, 2005 8:32 pm    Post subject: Reply with quote

Is this a flood script or flood protection script? Because if it is a flood script, please remove your post. That's not the kind of script that should be posted here. We don't want to be associated with bullshinanigans like that. Won't help people in the chan when they come in and ask for help with something like that. So why would we post scripts of the same kind on our forums?


See Also : Topic : SanitariuM's Ass Kicking FloodPro

Pro is short for "protection"
Back to top
View user's profile Send private message Visit poster's website
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Sat Feb 19, 2005 8:36 pm    Post subject: Demonstrations.... Reply with quote

I have access to a (legit) 25 bot net that I can use for testing/demonstrating this and other scripts. Msg me anytime for a demonstration in one of my channels. Also... if you've got access to more than 25 bots... please get ahold of me, I'd like you to help further test some other options for larger nets.

Sanitarium Smile--~


Last edited by SeeknDestroy on Fri Mar 04, 2005 12:52 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
holospoof
Major


Joined: 14 Jan 2004
Posts: 103

PostPosted: Tue Feb 22, 2005 11:29 pm    Post subject: Reply with quote

dont mind canonjoe, he was drunk and couldnt read, probably felt like shooting his mouth off or something Smile
_________________
blah!^!@^$^^
Back to top
View user's profile Send private message Visit poster's website
IL_Pizu
Major


Joined: 28 Dec 2003
Posts: 113
Location: .:Europe:. .:Malta:.

PostPosted: Wed Feb 23, 2005 8:45 am    Post subject: Reply with quote

lololol
_________________
Check This Out: http://www.shaddowdomain.com/scary.jpg Smile
http://pizu.modblog.com/ Smile
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
CanonJoe
Major


Joined: 27 Dec 2003
Posts: 133
Location: Canada

PostPosted: Thu Feb 24, 2005 12:19 am    Post subject: Reply with quote

lol, I didn't shoot my mouth off... was just a simple misunderstanding. Razz Ever get a short attention span when you've been drinking...? lol. So I just didn't read it... at all really.
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
holospoof
Major


Joined: 14 Jan 2004
Posts: 103

PostPosted: Tue Mar 01, 2005 9:33 pm    Post subject: Reply with quote

its ok CanonJoe, we all f'up once and a while Wink
_________________
blah!^!@^$^^
Back to top
View user's profile Send private message Visit poster's website
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Fri Mar 11, 2005 1:29 pm    Post subject: :)--~ Reply with quote

Smile--~
Back to top
View user's profile Send private message Visit poster's website
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Sat Apr 09, 2005 10:47 pm    Post subject: Replies Reply with quote

All this time, and no real replies...

If you have any more suggestions, please > INPUT


Last edited by SeeknDestroy on Tue Nov 22, 2005 7:01 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
PaDreZ



Joined: 14 Apr 2005
Posts: 1
Location: Romania

PostPosted: Thu Apr 14, 2005 4:00 am    Post subject: Re: Ass-Kicking Mass-Moding Botnet-Killing Channel Floodpro Reply with quote

SeeknDestroy, its me PaDreZ, you helped me yesterday and gave me this link, floodpro, and i just had 46 bots in my channel. this is what it did:
[11:51] * PaDreZ sets mode: +bbbbb *!*@c-24-98-33-239.hsd1.ga.comcast.net *!*@ool-18bb4d11.dyn.optonline.net *!*@c-69-180-33-49.hsd1.ga.comcast.net *!*@203.167.79.141 *!*@194.249.106.134 etc...
Its a GREAT SCRIPT! it set immediately +m mode, banned them and kicked with timer everybody, than it set -m....
Cool man, ur script its great. I advertised it to all my friends.
Back to top
View user's profile Send private message Yahoo Messenger
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Tue Nov 22, 2005 7:07 pm    Post subject: Changes Reply with quote

I have edited the script and made some minor changes.

Previously, it started triggering on the 4th repeat...

That has now been changed to the 6th +

This is to help make sure it's a botnet flood and not just a lamer repeating himself 4 times... so you don't end up +m a channel due to one lamer.
Back to top
View user's profile Send private message Visit poster's website
Ook
Major


Joined: 01 May 2004
Posts: 80

PostPosted: Sun Jul 02, 2006 10:01 am    Post subject: Reply with quote

shouldn't on *:join:#:{
be on @*:join:#:{
?
Back to top
View user's profile Send private message
SeeknDestroy
Major


Joined: 25 Dec 2004
Posts: 81
Location: Marijuanaville, USA

PostPosted: Sun Jul 02, 2006 9:35 pm    Post subject: on Join Reply with quote

You're half right...

One... I intentionally made it not on @* because of the auto-shitlist thing... as you can still be shitlisting even if you're not banning.

Two... now that you pointed it out, I left out a check for if ($me isop $chan) before setting the channel modes... thus making you half right Smile
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    mircscripting.info Forum Index -> Addons All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group