Search
 
 

Display results as :
 


Rechercher Advanced Search

Web Applications
install Joomla Wordpress Phpbb Drupal FluxBB PunBB osCommerce simple-machines MYBB moodle vBulletin Dolphin-v.7.1.1 PHPNUKE XOOPS
Services
install BorkNet Services X3 Services Anope Atheme Services Srvx IRC Srervices
IRCD
install Snircd IRCU INSPIRCD UNREAL Nefarious Bircd Bahamut Asuka Charybdis
TCL SCRIPT
TCL SCRIPT FOR EGGDROP Allprotection4.7 Antiproxy
Bots
Bots install FishBot bobot++ Eggdrop janus Omega Security Services Botnix Bopm
Keywords

speed  multi  

Latest topics
» מדריך התקנה WORDPRESS על FREEBSD11
Mon Jul 17, 2017 2:50 am by Chief

» מדריך התקנה postgreSQL && phpPgAdmin על FREEBSD11
Sun Jul 16, 2017 4:23 pm by Chief

» מדריך התקנה PHPMYADMIN על FREEBSD11
Sat Jul 15, 2017 5:44 am by Chief

» mIRCx IRC Network Config
Fri Jul 07, 2017 12:57 pm by Chief

» מדריך איך מתקינים DESKTOP על FREEBSD
Fri Jul 07, 2017 12:44 pm by Chief

» מדריך התקנה FTP SERVER על FREEBSD
Mon Jul 03, 2017 3:52 am by Chief

» install inspircd in freebsd 11
Sat Jul 01, 2017 11:57 pm by Chief

» מדריך התקנה FEDORA 25
Sat Jul 01, 2017 7:59 pm by Chief

» מדריך התקנה מערכת הפעלה FREEBSD
Sat Jun 24, 2017 12:59 am by Chief

August 2017
MonTueWedThuFriSatSun
 123456
78910111213
14151617181920
21222324252627
28293031   

Calendar Calendar

Affiliates
free forum

Affiliates
free forum


[חדש] - Protection Server

View previous topic View next topic Go down

[חדש] - Protection Server

Post  Admin on Wed Aug 31, 2011 9:39 pm

הקוד נבנה ע"י 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
avatar
Admin
Admin

מספר הודעות : 288
Join date : 2009-09-12
Age : 37
מיקום : mIRCX IRC Network

View user profile http://mircx.forumotion.net

Back to top Go down

Re: [חדש] - Protection Server

Post  Admin on Wed Aug 31, 2011 10:15 pm

הערה
נוספת תצטרכו להכניס לתייקיה של המירק שלכם את זה WhileFix.dll
ואז תגדירו את הגנה
להורדה
http://f2h.nana10.co.il/8yqu754ai28k
זכויות שמורות לOr
מנהל שרת ואתר של mIRCx
avatar
Admin
Admin

מספר הודעות : 288
Join date : 2009-09-12
Age : 37
מיקום : mIRCX IRC Network

View user profile http://mircx.forumotion.net

Back to top Go down

תיקון באג קטן והנה החדש

Post  Admin on Wed Aug 31, 2011 10:53 pm

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 }
  -
}
http://pastie.org/2463324
זה הקוד שתוקן מבאג על ידי OR מנהל השרת ואתר של המירקס
avatar
Admin
Admin

מספר הודעות : 288
Join date : 2009-09-12
Age : 37
מיקום : mIRCX IRC Network

View user profile http://mircx.forumotion.net

Back to top Go down

Re: [חדש] - Protection Server

Post  Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum