Search
Web Applications
install Joomla Wordpress Phpbb Drupal FluxBB PunBB osCommerce simple-machines MYBB moodle vBulletin Dolphin-v.7.1.1 PHPNUKE XOOPSServices
install BorkNet Services X3 Services Anope Atheme Services Srvx IRC SrervicesIRCD
install Snircd IRCU INSPIRCD UNREAL Nefarious Bircd Bahamut Asuka CharybdisTCL SCRIPT
TCL SCRIPT FOR EGGDROP
Allprotection4.7 AntiproxyBots
Bots install FishBot bobot++ Eggdrop janus Omega Security Services Botnix Bopm SupyBot PyLink HopmLatest topics
[חדש] - Protection Server
BMT IRC Network :: BMT :: BMT
Page 1 of 1
[חדש] - Protection Server
הקוד נבנה ע"י Or ומטרתו הוא להגן על השרת מפני הצפות גלובאליות, כלומר מפני בוטנטים מכל ההיבטים:
- הגנה מפני הצפות הצטרפות גלובאלית לערוץ
- הגנה מפני הצפות כניסות לשרת של בוטנטים
- הגנה מפני שינוי ניקים מהירים של בוטנטים
- הגנה מפני הצפות טקסט גלובאליות
- הגנה מפני הצפות נוטיס גלובאליות
- הגנה מפני הצפות Ctcp גלובאליות
- הגנה מפני הצפות DCC גלובאליות
- Code:
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:{
did -ra $dname 26,27 Gline
did -c $dname 26,27 1
didtok $dname 28-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 (%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 %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 == 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) }
}
alias bk {
if (%PunJoin == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok($1,1,32) - :Abuse - Join Flood! }
elseif (%PunJoin == 2) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { kick %fChan $gettok($1,1,32) Abuse - Join Flood! }
elseif (%PunJoin == 3) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { ban -k %fChan $gettok($1,1,32) Join Flood! }
dline %twinC $fline(%twinC,$1)
}
alias sk {
gline $gettok($1,1,32) - :Botnets Flood!
dline %twinS $fline(%twinS,$1)
}
alias nk {
if (%PunNotice == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok($1,1,32) - :Abuse - Notice Flood! }
elseif (%PunNotice == 2) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { kick %NChan $gettok($1,1,32) Abuse - Notice Flood! }
elseif (%PunNotice == 3) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { ban -k %NChan $gettok($1,1,32) Notice Flood! }
dline %twinCN $fline(%twinCN,$1)
}
alias tk {
if (%PunText == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok($1,1,32) - :Abuse - Text Flood! }
elseif (%PunText == 2) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { kick %TChan $gettok($1,1,32) Abuse - Text Flood! }
elseif (%PunText == 3) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { ban -k %TChan $gettok($1,1,32) Text Flood! }
dline %twinCT $fline(%twinCT,$1)
}
alias pk {
if (%PunCtcp == 1) && ($regex($usermode,/[AoNO]/i)) { gline $gettok($1,1,32) - :Abuse - Ctcp Flood! }
elseif (%PunCtcp == 2) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { kick %PChan $gettok($1,1,32) Abuse - Ctcp Flood! }
elseif (%PunCtcp == 3) && (($me isop $chan) || ($regex($usermode,/[AoNO]/i))) { ban -k %PChan $gettok($1,1,32) Ctcp Flood! }
dline %twinCP $fline(%twinCP,$1)
}
alias nck {
gline $iif($regex($gettok($1,4,32),/(\d+\.\d+\.\d+\.\d+)/),*@ $+ $regml(1),$gettok($1,1,32)) - :Nick Flood!
dline %twinCk $fline(%twinCk,$1)
}
on !*:join:#:{
var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
if ((!$read(serpro.txt,r,%reg)) || (!%E.Join) || ($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 > %JoinSec) && ($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) >= %JoinFlood) || (%autoJ. [ $+ [ $chan ] ] && $fline(%winC,* $chan,0))) {
set %fChan $chan
set %twinC %winC
filter -wk %winC bk * $chan
set -u [ $+ [ %JoinSec ] ] %autoJ. [ $+ [ $chan ] ] 1
}
}
on *:snotice:*Client connecting*:{
var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
if ((!$read(serpro.txt,r,%reg)) || (!%E.Connect)) { return }
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 > %ConnectSec) && ($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) >= %ConnectFlood) || (%autoS. [ $+ [ $serverip ] ])) {
set %twinS %winS
filter -wk %winS sk * $serverip
set -u [ $+ [ %ConnectSec ] ] %autoS. [ $+ [ $serverip ] ] 1
}
}
on *:snotice:*has changed his/her nickname*:{
var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
if ((!$read(serpro.txt,r,%reg)) || (!%E.Nick)) { return }
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 > %NickSec) && ($fline(%winCk,* $serverip *)) { dline %winCk $fline(%winCk,* $serverip *,$fline(%winCk,* $serverip *,0)) }
if ($fline(%winCk,* $serverip $5)) { rline %winCk $fline(%winCk,* $serverip $5) $11 $ctime $serverip $5 }
else { aline %winCk $11 $ctime $serverip $5 }
if (($fline(%winCk,* $serverip *,0) >= %NickFlood) || (%autonck. [ $+ [ $serverip ] ])) {
set %twinCk %winCk
filter -wk %winCk nck * $serverip *
set -u [ $+ [ %NickSec ] ] %autonck. [ $+ [ $serverip ] ] 1
}
}
on *:notice:*:#:{
var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
if ((!$read(serpro.txt,r,%reg)) || (!%E.Notice) || ($me !isop $chan)) { return }
var %winN = @noticeF
if (!$window(%winN)) { window -h %winN }
var %resnot = $calc($ctime - $gettok($fline(%winN,* $hash($strip($1-),32) $chan,$fline(%winN,* $hash($strip($1-),32) $chan,0)).text,2,32))
if (%resnot > %NoticeSec) && ($fline(%winN,* $hash($strip($1-),32) $chan)) { dline %winN $fline(%winN,* $hash($strip($1-),32) $chan,$fline(%winN,* $hash($strip($1-),32) $chan,0)) }
if ($fline(%winN,$nick *)) { rline %winN $fline(%winN,$nick *) $nick $ctime $hash($strip($1-),32) $chan }
else { aline %winN $nick $ctime $hash($strip($1-),32) $chan }
if (($fline(%winN,* $hash($strip($1-),32) $chan,0) >= %NoticeFlood) || (%autoN. [ $+ [ $chan ] $+ [ $hash($strip($1-),32) ] ])) {
set %NChan $chan
set %twinCN %winN
filter -wk %winN nk * $hash($strip($1-),32) $chan
set -u [ $+ [ %NoticeSec ] ] %autoN. [ $+ [ $chan ] $+ [ $hash($strip($1-),32) ] ] 1
}
}
on *:text:*:#:{
var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
if ((!$read(serpro.txt,r,%reg)) || (!%E.Text) || ($me !isop $chan)) { return }
var %winT = @textF
if (!$window(%winT)) { window -h %winT }
var %restext = $calc($ctime - $gettok($fline(%winT,* $hash($strip($1-),32) $chan,$fline(%winT,* $hash($strip($1-),32) $chan,0)).text,2,32))
if (%restext > %TextSec) && ($fline(%winT,* $hash($strip($1-),32) $chan)) { dline %winT $fline(%winT,* $hash($strip($1-),32) $chan,$fline(%winT,* $hash($strip($1-),32) $chan,0)) }
if ($fline(%winT,$nick *)) { rline %winT $fline(%winT,$nick *) $nick $ctime $hash($strip($1-),32) $chan }
else { aline %winT $nick $ctime $hash($strip($1-),32) $chan }
if (($fline(%winT,* $hash($strip($1-),32) $chan,0) >= %TextFlood) || (%autoT. [ $+ [ $chan ] $+ [ $hash($strip($1-),32) ] ])) {
set %TChan $chan
set %twinCT %winT
filter -wk %winT tk * $hash($strip($1-),32) $chan
set -u [ $+ [ %TextSec ] ] %autoT. [ $+ [ $chan ] $+ [ $hash($strip($1-),32) ] ] 1
}
}
ctcp *:*:#:{
var %reg = $server $+ $(|) $+ $network $+ $(|) $+ $serverip
if ((!$read(serpro.txt,r,%reg)) || (!%E.Ctcp) || ($me !isop $chan)) { return }
var %winP = @ctcpF
if (!$window(%winP)) { window -h %winP }
var %resctcp = $calc($ctime - $gettok($fline(%winP,* $hash($strip($1-),32) $chan,$fline(%winP,* $hash($strip($1-),32) $chan,0)).text,2,32))
if (%resctcp > %CtcpSec) && ($fline(%winP,* $hash($strip($1-),32) $chan)) { dline %winP $fline(%winP,* $hash($strip($1-),32) $chan,$fline(%winP,* $hash($strip($1-),32) $chan,0)) }
if ($fline(%winP,$nick *)) { rline %winP $fline(%winP,$nick *) $nick $ctime $hash($strip($1-),32) $chan }
else { aline %winP $nick $ctime $hash($strip($1-),32) $chan }
if (($fline(%winP,* $hash($strip($1-),32) $chan,0) >= %CtcpFlood) || (%autoP. [ $+ [ $chan ] $+ [ $hash($strip($1-),32) ] ])) {
set %PChan $chan
set %twinCP %winP
filter -wk %winP pk * $hash($strip($1-),32) $chan
set -u [ $+ [ %CtcpSec ] ] %autoP. [ $+ [ $chan ] $+ [ $hash($strip($1-),32) ] ] 1
}
}
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 -mu [ $+ [ %DccSec ] ] %hs %tk $nick }
if ($hget(%hs,0).item >= %DccFlood) {
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
}
}
}
menu * {
-
Server Protection:if (!$dialog(botnets)) { dialog -m botnets botnets }
-
}
Last edited by Admin on Wed Sep 07, 2011 12:57 am; edited 1 time in total
Re: [חדש] - Protection Server
הערה
נוספת תצטרכו להכניס לתייקיה של המירק שלכם את זה WhileFix.dll
ואז תגדירו את הגנה
להורדה
http://f2h.nana10.co.il/8yqu754ai28k
זכויות שמורות לOr
מנהל שרת ואתר של mIRCx
נוספת תצטרכו להכניס לתייקיה של המירק שלכם את זה WhileFix.dll
ואז תגדירו את הגנה
להורדה
http://f2h.nana10.co.il/8yqu754ai28k
זכויות שמורות לOr
מנהל שרת ואתר של mIRCx
תיקון באג קטן והנה החדש
- Code:
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 }
-
}
זה הקוד שתוקן מבאג על ידי OR מנהל השרת ואתר של המירקס
Similar topics
» protection from botnet to only inspircd Server
» all Protection By Or
» Personal Protection
» New Protection by Or
» Personal Protection
» all Protection By Or
» Personal Protection
» New Protection by Or
» Personal Protection
BMT IRC Network :: BMT :: BMT
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
Sat Aug 05, 2023 2:09 am by Chief
» mIRCx IRC Network Config
Sat Jul 15, 2023 9:51 pm by Chief
» ircu2.10.12-pk with dnsbl
Fri Mar 10, 2023 2:22 pm by Admin
» Guide install PyLink on New version FreeBSD
Thu Dec 15, 2022 9:39 pm by Chief
» מדריך התקנה PBot על מערכת הפעלה FreeBsd-12
Mon Dec 05, 2022 5:44 am by Chief
» install Nefarious2 && X3 IRC Services in FreeBsd
Sat Nov 12, 2022 3:12 pm by Chief
» help problem with adduser in Freebsd 12
Fri Nov 11, 2022 9:06 pm by Chief
» מדריך פקודות והתקנה בסרביס X3
Fri Oct 28, 2022 1:43 pm by Chief
» מדריך הגדרות WebIRC in Nefarious2
Thu Apr 07, 2022 4:45 am by Chief