Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dialog botnets {
- title "Botnets Protection"
- size -1 -1 173 137
- option dbu notheme
- check "Connect Flood Server", 1, 8 26 65 10
- edit "", 2, 74 26 10 10, center
- text "In", 3, 85 27 6 8, center
- edit "", 4, 92 26 10 10, center
- text "Sec(s)", 5, 103 27 16 8
- check "Nicks Change Flood", 6, 8 41 65 10
- edit "", 7, 74 41 10 10, center
- edit "", 8, 92 41 10 10, center
- text "In", 9, 85 42 6 8, center
- text "Sec(s)", 10, 103 42 16 8
- check "Global Text Flood", 11, 8 56 65 10
- edit "", 12, 74 56 10 10, center
- edit "", 13, 92 56 10 10, center
- text "In", 14, 85 57 6 8, center
- text "Sec(s)", 15, 103 57 16 8
- check "Global Notice Flood", 16, 8 71 65 10
- edit "", 17, 74 71 10 10, center
- edit "", 18, 92 71 10 10, center
- text "In", 19, 85 72 6 8, center
- text "Sec(s)", 20, 103 72 16 8
- check "Global Ctcp Flood", 21, 8 86 65 10
- edit "", 22, 74 86 10 10, center
- edit "", 23, 92 86 10 10, center
- text "In", 24, 85 87 6 8, center
- text "Sec(s)", 25, 103 87 16 8
- combo 26, 124 26 40 11, drop
- combo 27, 124 41 40 11, drop
- combo 28, 124 56 40 11, drop
- combo 29, 124 71 40 11, drop
- combo 30, 124 86 40 11, drop
- box "Protect Options", 31, 5 2 117 117
- box "Punishment", 32, 122 2 45 117
- button "Servers Protected", 33, 4 123 48 10, flat
- button "OK", 34, 84 123 22 10, flat ok
- check "Global DCC Flood", 35, 8 101 65 10
- edit "", 36, 74 101 10 10, center
- text "In", 37, 85 102 6 8, center
- edit "", 38, 92 101 10 10, center
- text "Sec(s)", 39, 103 102 16 8
- combo 40, 124 101 40 11, drop
- check "Join Flood Channel", 41, 8 11 65 10
- edit "", 42, 74 11 10 10, center
- text "In", 43, 85 12 6 8, center
- edit "", 44, 92 11 10 10, center
- text "Sec(s)", 45, 103 12 16 8
- combo 46, 124 11 40 11, drop
- button "Default", 47, 56 123 24 10, flat
- }
- dialog serpro {
- title "Servers List"
- size -1 -1 80 147
- option dbu notheme
- combo 1, 3 17 71 79, size
- button "Add", 2, 4 4 33 10, flat
- button "Del", 3, 40 4 33 10, flat
- box "", 4, 1 -2 77 101
- button "Close", 5, 22 135 33 10, flat cancel
- text "servers masks examples:", 6, 5 102 69 8, disable center
- text "0.0.0.0", 7, 5 110 69 7, disable center
- text "irc.network.co.il", 8, 5 117 69 7, disable center
- text "network", 9, 5 124 69 7, disable center
- box "", 10, 1 96 77 38
- }
- on *:dialog:serpro:init:0:{
- if ($lines(serpro.txt) > 0) { filter -fo serpro.txt $dname 1 }
- }
- on *:dialog:serpro:sclick:*:{
- if ($did == 2) {
- if ($did(1)) && (!$read(serpro.txt,w,$did(1))) { did -a $dname 1 $did(1) | write serpro.txt $did(1) | did -c $dname 1 $did(1).lines }
- }
- elseif ($did == 3) {
- if ($did(1)) && ($read(serpro.txt,w,$did(1))) { did -d $dname 1 $didwm($dname,1,$did(1)) | write -dl [ $+ [ $readn ] ] serpro.txt }
- }
- }
- on *:dialog:botnets:init:0:{
- didtok $dname 26-30,40,46 32 Gline Kick Kick+ban
- if (%E.Join) { did -c $dname 41 }
- else { did -b $dname 42-46 }
- if (%E.Connect) { did -c $dname 1 }
- else { did -b $dname 2-5,26 }
- if (%E.Nick) { did -c $dname 6 }
- else { did -b $dname 7-10,27 }
- if (%E.Text) { did -c $dname 11 }
- else { did -b $dname 12-15,28 }
- if (%E.Notice) { did -c $dname 16 }
- else { did -b $dname 17-20,29 }
- if (%E.Ctcp) { did -c $dname 21 }
- else { did -b $dname 22-25,30 }
- if (%E.Dcc) { did -c $dname 35 }
- else { did -b $dname 36-40 }
- if (%JoinFlood) { did -ra $dname 42 %JoinFlood }
- else { did -ra $dname 42 3 | set %JoinFlood 3 }
- if (%JoinSec) { did -ra $dname 44 %JoinSec }
- else { did -ra $dname 44 3 | set %JoinSec 3 }
- if (%ConnectFlood) { did -ra $dname 2 %ConnectFlood }
- else { did -ra $dname 2 3 | set %ConnectFlood 3 }
- if (%ConnectSec) { did -ra $dname 4 %ConnectSec }
- else { did -ra $dname 4 4 | set %ConnectSec 4 }
- if (%NickFlood) { did -ra $dname 7 %NickFlood }
- else { did -ra $dname 7 3 | set %NickFlood 3 }
- if (%NickSec) { did -ra $dname 8 %NickSec }
- else { did -ra $dname 8 4 | set %NickSec 4 }
- if (%TextFlood) { did -ra $dname 12 %TextFlood }
- else { did -ra $dname 12 3 | set %TextFlood 3 }
- if (%TextSec) { did -ra $dname 13 %TextSec }
- else { did -ra $dname 13 4 | set %TextSec 4 }
- if (%NoticeFlood) { did -ra $dname 17 %NoticeFlood }
- else { did -ra $dname 17 3 | set %NoticeFlood 3 }
- if (%NoticeSec) { did -ra $dname 18 %NoticeSec }
- else { did -ra $dname 18 4 | set %NoticeSec 4 }
- if (%CtcpFlood) { did -ra $dname 22 %CtcpFlood }
- else { did -ra $dname 22 3 | set %CtcpFlood 3 }
- if (%CtcpSec) { did -ra $dname 23 %CtcpSec }
- else { did -ra $dname 23 4 | set %CtcpSec 4 }
- if (%DccFlood) { did -ra $dname 36 %DccFlood }
- else { did -ra $dname 36 3 | set %DccFlood 3 }
- if (%DccSec) { did -ra $dname 38 %DccSec }
- else { did -ra $dname 38 4 | set %DccSec 4 }
- if (%PunJoin) { did -c $dname 46 %PunJoin }
- else { did -c $dname 46 3 }
- if (%PunConnect) { did -c $dname 26 %PunConnect }
- else { did -c $dname 26 1 }
- if (%PunNicks) { did -c $dname 27 %PunNicks }
- else { did -c $dname 27 1 }
- if (%PunText) { did -c $dname 28 %PunText }
- else { did -c $dname 28 3 }
- if (%PunNotice) { did -c $dname 29 %PunNotice }
- else { did -c $dname 29 3 }
- if (%PunCtcp) { did -c $dname 30 %PunCtcp }
- else { did -c $dname 30 1 }
- if (%PunDcc) { did -c $dname 40 %PunDcc }
- else { did -c $dname 40 1 }
- }
- on *:dialog:botnets:sclick:*:{
- if ($did == 33) && (!$dialog(serpro)) { dialog -m serpro serpro }
- elseif ($did == 47) {
- did -c $dname 46 3
- did -c $dname 26-27,30,40 1
- did -c $dname 28,29 3
- set %JoinFlood 3
- set %JoinSec 3
- set %ConnectFlood 3
- set %ConnectSec 4
- set %NickFlood 3
- set %NickSec 4
- set %NoticeFlood 3
- set %NoticeSec 4
- set %CtcpFlood 3
- set %CtcpSec 4
- set %DccFlood 3
- set %DccSec 4
- did -ra $dname 42,44,2,7,12,17,22,36 3
- did -ra $dname 4,8,13,18,23,38 4
- set %PunJoin 3
- set %PunConnect 1
- set %PunNicks 1
- set %PunText 3
- set %PunNotice 3
- set %PunCtcp 1
- set %PunDcc 1
- }
- elseif ($did == 41) {
- set %E.Join $iif($did(41).state,1,$null)
- did $iif(%E.Join,-e,-b) $dname 42-46
- }
- elseif ($did == 1) {
- set %E.Connect $iif($did(1).state,1,$null)
- did $iif(%E.Connect,-e,-b) $dname 2-5,26
- }
- elseif ($did == 6) {
- set %E.Nick $iif($did(6).state,1,$null)
- did $iif(%E.Nick,-e,-b) $dname 7-10,27
- }
- elseif ($did == 11) {
- set %E.Text $iif($did(11).state,1,$null)
- did $iif(%E.Text,-e,-b) $dname 12-15,28
- }
- elseif ($did == 16) {
- set %E.Notice $iif($did(16).state,1,$null)
- did $iif(%E.Notice,-e,-b) $dname 17-20,29
- }
- elseif ($did == 21) {
- set %E.Ctcp $iif($did(21).state,1,$null)
- did $iif(%E.Ctcp,-e,-b) $dname 22-25,30
- }
- elseif ($did == 35) {
- set %E.Dcc $iif($did(35).state,1,$null)
- did $iif(%E.Dcc,-e,-b) $dname 36-40
- }
- elseif ($did == 46) { set %PunJoin $did(46).sel }
- elseif ($did == 26) { set %PunConnect $did(26).sel }
- elseif ($did == 27) { set %PunNicks $did(27).sel }
- elseif ($did == 28) { set %PunText $did(28).sel }
- elseif ($did == 29) { set %PunNotice $did(29).sel }
- elseif ($did == 30) { set %PunCtcp $did(30).sel }
- elseif ($did == 40) { set %PunDcc $did(40).sel }
- }
- on *:dialog:botnets:edit:*:{
- if ($did == 42) { set %JoinFlood $did(42) }
- elseif ($did == 44) { set %JoinSec $did(44) }
- elseif ($did == 2) { set %ConnectFlood $did(2) }
- elseif ($did == 4) { set %ConnectSec $did(4) }
- elseif ($did == 7) { set %NickFlood $did(7) }
- elseif ($did == 8) { set %NickSec $did(8) }
- elseif ($did == 12) { set %TextFlood $did(12) }
- elseif ($did == 13) { set %TextSec $did(13) }
- elseif ($did == 17) { set %NoticeFlood $did(17) }
- elseif ($did == 18) { set %NoticeSec $did(18) }
- elseif ($did == 22) { set %CtcpFlood $did(22) }
- elseif ($did == 23) { set %CtcpSec $did(23) }
- elseif ($did == 36) { set %DccFlood $did(36) }
- elseif ($did == 38) { set %DccSec $did(38) }
- }
- on *:snotice:*Client connecting*:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Connect)) { return }
- var %ip = $iif($regex($10,/(\d+\.\d+\.\d+\.\d+)/),$regml(1),1)
- if (!$hget(Botnet,$9)) { hadd -mu [ $+ [ %ConnectSec ] ] Botnet $9 %ip }
- if ($hget(Botnet,0).item >= %ConnectFlood) {
- var %x 1
- while ($hget(Botnet,%x).item) {
- var %cn = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunConnect == 2 || %PunConnect == 3) {
- var %i 1
- while ($chan(%i)) {
- dll WhileFix.dll WhileFix .
- if (%cn ison $chan(%i)) {
- if (%PunConnect == 2) && (($me isop $chan(%i)) || $regex($usermode,/[AoNO]/i)) { kick $chan(%i) %cn Abuse - Botnets Flood! }
- elseif (%PunConnect == 3) && (($me isop $chan(%i)) || $regex($usermode,/[AoNO]/i)) { ban -k $chan(%i) %cn Abuse - Botnets Flood! }
- }
- inc %i
- }
- }
- elseif (%PunConnect == 1) && ($regex($usermode,/[AoNO]/i)) { gline %cn - :Abuse - Botnets Flood }
- hdel -w Botnet %cn
- inc %x
- }
- }
- }
- on !*:join:#:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Join)) { return }
- var %ip = $+($wildsite,/,$nick)
- if (!$hget(Jflood,$nick)) { hadd -mu [ $+ [ %JoinSec ] ] Jflood $nick %ip }
- if ($hget(Jflood,0).item >= %JoinFlood) {
- var %x 1
- while ($hget(Jflood,%x).item) {
- var %bm = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunJoin == 1) && ($regex($usermode,/[AoNO]/i)) { gline %bm - :Abuse - Join Flood! }
- elseif (%PunJoin == 2) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { kick # %bm Abuse - Join Flood! }
- elseif (%PunJoin == 3) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { ban -k # %bm Abuse - Join Flood! }
- hdel -w Jflood %bm
- inc %x
- }
- }
- }
- on *:text:*:*:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Text)) { return }
- var %hs = $+(a,.,$hash($strip($1-),32)), %tk = $+($wildsite,/,$nick)
- if (!$hget(%hs,%tk)) { hadd -mu3 %hs %tk $nick }
- if ($hget(%hs,0).item >= 3) {
- var %x 1
- while ($hget(%hs,%x).item) {
- var %tm = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunText == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok(%tm,2,47) - :Abuse - Text Flood! }
- elseif (%PunText == 2) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { kick # $gettok(%tm,2,47) Abuse - Text Flood! }
- elseif (%PunText == 3) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { ban -k # $gettok(%tm,2,47) Abuse - Text Flood! }
- hdel -w %hs %tm
- inc %x
- }
- }
- }
- on *:notice:*:*:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Notice)) { return }
- var %hs = $+(a,.,$hash($strip($1-),32)), %tk = $+($wildsite,/,$nick)
- if (!$hget(%hs,%tk)) { hadd -mu3 %hs %tk $nick }
- if ($hget(%hs,0).item >= 3) {
- var %x 1
- while ($hget(%hs,%x).item) {
- var %nm = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunText == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok(%nm,2,47) - :Abuse - Notice Flood! }
- elseif (%PunText == 2) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { kick # $gettok(%nm,2,47) Abuse - Notice Flood! }
- elseif (%PunText == 3) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { ban -k # $gettok(%nm,2,47) Abuse - Notice Flood! }
- hdel -w %hs %nm
- inc %x
- }
- }
- }
- ctcp *:*:*:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Ctcp)) { return }
- var %hs = $+(a,.,$hash($strip($1-),32)), %tk = $token($address($nick,5),2,33)
- if !$hget(%hs,%tk) { hadd -mu3 %hs %tk $nick }
- if $hget(%hs,0).item >= 3 {
- var %x 1
- while ($hget(%hs,%x).item) {
- var %cm = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunText == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok(%cm,2,47) - :Abuse - Ctcp Flood! }
- elseif (%PunText == 2) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { kick # $gettok(%cm,2,47) Abuse - Ctcp Flood! }
- elseif (%PunText == 3) && (($me isop $chan) || $regex($usermode,/[AoNO]/i)) { ban -k # $gettok(%cm,2,47) Abuse - Ctcp Flood! }
- hdel -w %hs %cm
- inc %x
- }
- }
- }
- on *:dccserver:*:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Dcc)) { return }
- var %hs = $+(a,.,$hash($strip($1-),32)), %tk = $token($address($nick,5),2,33)
- if !$hget(%hs,%tk) { hadd -mu3 %hs %tk $nick }
- if $hget(%hs,0).item >= 3 {
- var %x 1
- while ($hget(%hs,%x).item) {
- var %dm = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunText == 2 || %PunText == 3) {
- var %i 1
- while ($chan(%i)) {
- dll WhileFix.dll WhileFix .
- if ($gettok(%dm,2,47) ison $chan(%i)) {
- if (%PunText == 2) && (($me isop $chan(%i)) || $regex($usermode,/[AoNO]/i)) { kick $chan(%i) $gettok(%dm,2,47) Abuse - Dcc Flood! }
- elseif (%PunText == 3) && (($me isop $chan(%i)) || $regex($usermode,/[AoNO]/i)) { ban -k $chan(%i) $gettok(%dm,2,47) Abuse - Dcc Flood! }
- }
- inc %i
- }
- }
- elseif (%PunText == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok(%dm,2,47) - :Abuse - Dcc Flood }
- hdel -w %hs %dm
- inc %x
- }
- }
- }
- on *:nick:{
- var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
- if ((!$read(serpro.txt,r,%reg)) || (!%E.Nick)) { return }
- var %lx = $+($wildsite,/,$newnick)
- if (!$hget(cn,%lx)) { hadd -mu3 cn %lx $newnick }
- if ($hget(cn,0).item >= 4) {
- var %x 1
- while ($hget(cn,%x).item) {
- var %nm = $ifmatch
- dll WhileFix.dll WhileFix .
- if (%PunText == 2 || %PunText == 3) {
- var %i 1
- while ($chan(%i)) {
- dll WhileFix.dll WhileFix .
- if ($gettok(%nm,2,47) ison $chan(%i)) {
- if (%PunText == 2) && (($me isop $chan(%i)) || $regex($usermode,/[AoNO]/i)) { kick $chan(%i) $gettok(%nm,2,47) Abuse - Nicks-Change Flood! }
- elseif (%PunText == 3) && (($me isop $chan(%i)) || $regex($usermode,/[AoNO]/i)) { ban -k $chan(%i) $gettok(%nm,2,47) Abuse - Nicks-Change Flood! }
- }
- if ($me isop $chan(%i) && $gettok($hget(cn,%x).item,2,47) ison $chan(%i)) { ban -k $chan(%i) $gettok($hget(cn,%x).item,2,47) Nick-Change Flood }
- inc %i
- }
- }
- elseif (%PunText == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok(%nm,2,47) - :Abuse - Nick-Change Flood }
- hdel -w cn %nm
- inc %x
- }
- }
- }
- menu * {
- -
- Server Protection:if (!$dialog(botnets)) { dialog -m botnets botnets }
- -
- }
Add Comment
Please, Sign In to add comment