עמוד ראשי מירק סקריפטינג סניפטים Arthas Securitybot v4.2

Arthas Securitybot v4.2

mIRC Snippets - בפורום זה יפורסמו קודים שימושיים למירק. לפרסום קודים יש לפרסמם תחילה בפורום "פרסום קודים ומדריכים" ולאחר מכאן הם יועברו לפורום זה.

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 26 ספטמבר 2010, 11:22
שם הקוד: בוט הגנות גירסא 4.2
יוצר: Arthas
גירסא: 4.2
תיאור: בוט הגנות המגן על ערוצכם בשליטתכם, הבוט מתאים לכל שרתי הIRC
הפעלה:
העתיקו את הקוד שלמטה והדביקו אותו בRemote של המירק שתרצו בו את הבוט, פותחים את הRemote ע"י לחיצה של Alt+R.
לאחר מכן העתיקו את רשימת הUsers, של הOpenProxy שגם למטה, מתחת לקוד, והדביקו אותה בתוך הUsers.
נכנסים לUsers כך: Alt+R, נפתח הRemote, עכשיו תסתכלו תיראו למעלה טאבים, Aliases Popups Remote Users Variables
היכנסו לתוך חלון הUsers והדביקו שם את רשימת הOpenProxy שהעתקתם מלמטה.

לאחר שהבוט מוגדר לערוצכם, תוכלו לשלוט, להפעיל ולכבות את ההגנות ע"י לחיצה על מקש ימני וכבר תיראו זה קל.
כדי שהבוט יעבוד תצטרכו להגדיר לו מס' הצפות, כניסות וכ'ו כדי שהוא יפעל, אם לא תגדירו לו את המספר הוא לא יפעל פשוט.
מגדירים את המספרים גם ע"י לחיצה על מקש ימני, Settings ויש שם Set flood times ועוד.

בבוט הזה אין הגנת Advertise, מה יש ? Badwords.
פשוט אם תרצו שלא יכתבו את האות # בערוצכם, תוסיפו גם במקש ימיני את # ל BADWORDS.
תוכלו להוסיף עוד מילים לפי בחירתכם.

יש בבוט רשימת Protected, אנשים המוגנים מפני הבוט, הם לא יקבלו את הבאן שלהם כשהם יציפו וכשיעשו דברים שצריכים לקבל באן, בנוסף גם אם מישהו ייתן להם קיק הבוט ייתן למי שנתן את הקיק באן מהערוץ.

אין מערכת אוונרים בבוט, לא צריך. מגדירים הכל מהMenu.

לא לשנות קרדיט, בכוונה לא ניסיתי להחביא אותו !
סומך עליכם, זה הבוט שאני עבדתי עליו, אתם משתמשים בו, תכבדו אותי רק בקרדיט.

אשמח מאוד אם תמצאו בעיה בקוד שתפנו אלי או בפרטי בערוץ #mIRCs או שתכתבו פשוט פה באשכול את הבעיה ואני אתקן.

גירסאת 4.2:
דיאלוג חדש דנדש יפה מאוד, מערכת הbadwords תוקנה, הקוד הפך לייעיל יותר, שופר.
הגנה חדשה בשם pmbadwords, הבוט יוצא כל חצי שעה בערך בודק אם שולחים לו הודעות בפרטי עם המילים של ה badwords.
פקודה חדשה לערוץ לדעת מתי הוא עושה את הבדיקה !pmbadwords

תמונה של הדיאלוג החדש:
תמונה
גם תמונה לשליטה בbadwords, אותו דבר יש גם לprotected ולopenproxy
תמונה

הקוד:
; ——————————————————————————————————————————————————————————————————————————————————————————————— ;
; Arthas Securitybot - V4.2
; ——————————————————————————————————————————————————————————————————————————————————————————————— ;

alias -l cBans {
  if (!%cBans.WorkBans) {
    inc %cBans.WorkBans
    if ($1) { var %cAddress = @FloodAddresses,%cNicks = @FloodNicks,%cReason = Massive channel flood }
    else { var %cAddress = @Addresses,%cNicks = @Nicks,%cReason = Join flood protection }
    if ($window(%cAddress)) {
      var %x 1,%y 1,%correntbans,%t = 0
      while ($line(%cAddress,%x)) {
        var %correntbans = $addtok(%correntbans,$v1,32)
        if ($numtok(%correntbans,32) == $modespl) { .timer 1 %t mode %p.channel + $+ $str(b,$modespl) %correntbans | %correntbans = $null | inc %t }
        inc %x
      }
      if (%correntbans) { .timer 1 %t mode %p.channel + $+ $str(b,$modespl) %correntbans | inc %t }
      inc %t
      while ($line(%cNicks,%y)) {
        .timerkicknick $+ $v1 1 %t kicknick $v1 %cReason
        inc %t 3
        inc %y
      }
      .timer 1 %t mode %p.channel -mir $(|) unset %cBans.*
      window -c %cNicks
      window -c %cAddress
    }
  }
}
alias -l RemoveLine { if ($2) dline $1 $fline($1,$2) | if (!$line($1,1)) { .timerclose $+ $1 1 1 window -c $1 } }
alias -l BADWORD {
  var %x = 1
  while ($read(Badwords.txt,%x)) {
    if (* $+ $($v1,2) $+ * iswm $1-) { return $($read(Badwords.txt,%x),2) }
    inc %x
  }
  return $false
}
alias -l fixtimer {
  var %fix = $replace($replace($duration($1,2),$chr(32),$+($chr(44),$chr(32))),min,$chr(32) $+ minute,sec,$chr(32) $+ second,hr,$chr(32) $+ hour,wk,$chr(32) $+ week,day,$chr(32) $+ day)
  $iif($numtok(%fix,32) > 2,%fix = $remove(%fix,$chr(44) $gettok(%fix,$calc($numtok(%fix,32) -1) $+ -,32)) and $gettok(%fix,$calc($numtok(%fix,32) -1) $+ -,32))
  return %fix
}
alias -l kicknick {
  if (%kicknick.bans) {
    var %x = 1
    while ($gettok(%kicknick.bans,%x,32)) {
      var %addresses = $v1 %addresses
      if ($fline(@Addresses,$gettok(%kicknick.bans,%x,32))) { removeline @Addresses $gettok(%kicknick.bans,%x,32) }
      if ($numtok(%addresses,32) == $modespl) {
        mode %p.channel + $+ $str(b,$modespl) %addresses
        %addresses = $null
      }
      inc %x
    }
    if (%addresses) { mode %p.channel + $+ $str(b,$modespl) %addresses }
    unset %maddress
  }
  if ($1 ison %p.channel) {
    inc %cID
    kick %p.channel $1 $2- <ID: $chr(35) $+ %cID $+ >
  }
  if ($fline(@Nicks,$1)) { removeline @Nicks $1 }
}
alias -l pmbadwords {
  if (%PMBadwords.protect) {
    if (%cBans.Work) { .timerpmbadwordsnext 1 10 pmbadwords }
    else {
      inc -u10 %pmbadwordsjoinpart
      hop %p.channel
    }
  }
}
on !@*:JOIN:%p.channel:{ 
  ;openproxy
  if ($level($ulist($address($nick,5))) == OpenProxy) && (!%cBans.Work) && (%Openproxy.protect) && ($right($wildsite,-4) !isin %protected.list) {
    set -u10 %kicknick.bans $addtok(%kicknick.bans,$maddress,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Openproxy protection. ( $+ $maddress $+ )
  }
  ;joinflood
  if (%Joinflood.protect) && ($right($wildsite,-4) !isin %protected.list) {
    if (!$window(@Addresses)) { window -h @Addresses }
    if (!$window(@Nicks)) { window -h @Nicks }
    if (!$fline(@Addresses,$wildsite)) { aline @Addresses $wildsite | var %wADD = ON }
    if (!$fline(@Nicks,$nick)) { aline @Nicks $nick | var %wNICK = ON }
    inc %cBans.JoinedNum
    if (%cBans.JoinedNum == %p.jfloodtimes) && (!%cBans.Work) { inc %cBans.Work | inc %cBans.Joined | .timerclose* off | .timerprotect* off | .timeropenproxy* off | .timerdelete* off | mode # +mir | .timer 1 6 cBans }
    if (!%cBans.Joined) {
      .timer 1 6 dec %cBans.JoinedNum
      if (%wNICK) { .timerdeleteNICK $+ $nick 1 6 removeline @Nicks $nick }
      if (%wADD) { .timerdeleteADDRESS $+ $wildsite 1 6 removeline @Addresses $wildsite }
    }
  }
}
on !@*:PART:%p.channel: {
  ;joinpart
  if (%Joinpart.protect) && ($right($wildsite,-4) !isin %protected.list) {
    inc -u10 %mJoinPart. $+ $nick
    if ($(% $+ mJoinPart. $+ $nick,2) == %p.jparttimes) && (!%cBans.Work) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Join part protection }
  }
  if ($fline(@Nicks,$nick)) { removeline @Nicks $nick | .timerdeleteNICK $+ $nick off | .timerkicknick $+ $nick off }
  if ($fline(@FloodNicks,$nick)) { removeline @FloodNicks $nick | .timerflooddeleteNICK $+ $nick off | .timerkicknick $+ $nick off }
}
on !@*:ACTION:*:%p.channel:{
  if ($nick isreg #) && ($right($wildsite,-4) !isin %protected.list) {
    ;badword used
    if ($badword($strip($1-))) && (!%cBans.Work) && (%Badwords.protect) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Badword is used, * $+ $badword($strip($1-)) $+ * }
    ;someone's flood
    if (%Flood.protect) {
      inc -u10 %mFlood. $+ $nick
      if ($(% $+ mFlood. $+ $nick,2) == %p.floodtimes) && (!%cBans.Work) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Flood channel detected }
    }
    ;massive flood
    if (%MassiveFlood.protect) {
      if (!$window(@FloodAddresses)) { window -h @FloodAddresses }
      if (!$window(@FloodNicks)) { window -h @FloodNicks }
      if (!$fline(@FloodAddresses,$wildsite)) { aline @FloodAddresses $wildsite }
      if (!$fline(@FloodNicks,$nick)) { aline @FloodNicks $nick }
      inc %cBans.FloodNum
      if (%cBans.FloodNum == %p.massivetimes) && (!%cBans.Work) { inc %cBans.Work | inc %cBans.Flood | .timerclose* off | .timerprotect* off | .timeropenproxy* off | .timerflooddelete* off | mode # +mir | .timer 1 6 cBans Flood }
      if (!%cBans.Flood) {
        .timer 1 4 dec %cBans.FloodNum
        .timerflooddeleteNICK $+ $nick 1 4 removeline @FloodNicks $nick
        .timerflooddeleteADDRESS $+ $wildsite 1 4 removeline @FloodAddresses $wildsite
      }
    }
  }
}
on *:TEXT:*:*:{
  if ($target !ischan) {
    if (%pmbadwordsjoinpart) && (%PMBadwords.protect) && ($nick isreg %p.channel) && ($right($wildsite,-4) !isin %protected.list) && ($badword($strip($1-))) {
      set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Badword is used on PM, * $+ $badword($strip($1-)) $+ *
    }
  }
  elseif ($target ischan) && ($chan == %p.channel) && ($me isop #) {
    if ($1 == !Credits) && (!%MSG.flood) { inc -u5 %MSG.flood | msg # This Securitybot has been created by Arthas. V4.2 }
    elseif ($1 == !SStatus) && (!%MSG.flood) { inc -u5 %MSG.flood | msg # Flood: $iif(%flood.protect,3ON,4OFF) - Massive Flood: $iif(%massiveflood.protect,3ON,4OFF) - Badwords: $iif(%badwords.protect,3ON,4OFF) - PM Badwords: $iif(%pmbadwords.protect,3ON,4OFF) | msg # Join part: $iif(%joinpart.protect,3ON,4OFF) - Join flood: $iif(%joinflood.protect,3ON,4OFF) - Open proxy: $iif(%openproxy.protect,3ON,4OFF) - Take over: $iif(%Takeover.protect,3ON,4OFF) }
    elseif ($1 == !Pmbadwords) && (!%MSG.flood) { inc -u5 %MSG.flood | msg # $iif(%PMBadwords.protect,PM badwords check on $iif($timer(pmbadwords).secs,$fixtimer($v1),NONE seconds) $+ .,PM badwords protection is disable.) }
    if ($nick isreg #) && ($right($wildsite,-4) !isin %protected.list) {
      ;badword used
      if ($badword($strip($1-))) && (!%cBans.Work) && (%Badwords.protect) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Badword is used, * $+ $badword($strip($1-)) $+ * }
      ;someone's flood
      if (%Flood.protect) {
        inc -u10 %mFlood. $+ $nick
        if ($(% $+ mFlood. $+ $nick,2) == %p.floodtimes) && (!%cBans.Work) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Flood channel detected }
      }
      ;massive flood
      if (%MassiveFlood.protect) {
        if (!$window(@FloodAddresses)) { window -h @FloodAddresses }
        if (!$window(@FloodNicks)) { window -h @FloodNicks }
        if (!$fline(@FloodAddresses,$wildsite)) { aline @FloodAddresses $wildsite }
        if (!$fline(@FloodNicks,$nick)) { aline @FloodNicks $nick }
        inc %cBans.FloodNum
        if (%cBans.FloodNum == %p.massivetimes) && (!%cBans.Work) { inc %cBans.Work | inc %cBans.Flood | .timerclose* off | .timerprotect* off | .timeropenproxy* off | .timerflooddelete* off | mode # +mir | .timer 1 6 cBans Flood }
        if (!%cBans.Flood) {
          .timer 1 4 dec %cBans.FloodNum
          .timerflooddeleteNICK $+ $nick 1 4 removeline @FloodNicks $nick
          .timerflooddeleteADDRESS $+ $wildsite 1 4 removeline @FloodAddresses $wildsite
        }
      }
    }
  }
}
on !@*:BAN:%p.channel:{
  if ($banmask iswm $address($me,5)) && ($nick !== Q) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Don't ever think about it O_O | mode # -b $banmask }
  elseif ($right($banmask,-4) isin %protected.list) && ($nick !== Q) { mode # -b $banmask | set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick $iif($ial(*!*@ $+ $right($banmask,-4),1).nick,$v1,He) is a protected user. }
  elseif (%TakeOver.protect) && ($right($wildsite,-4) !isin %protected.list) && ($nick !== Q) {
    inc -u10 %mBK. $+ $nick
    if ($(% $+ mBK. $+ $nick,2) == %p.BK) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 100 kicknick $nick Take over protection }
  }
}
on !@*:KICK:%p.channel:{
  if ($knick == $me) && ($nick !== Q) { join # | set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Don't ever think about it O_O }
  elseif ($right($address($knick,2),-4) isin %protected.list) && ($nick !== Q) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick $knick is a protected user. }
  elseif (%TakeOver.protect) && ($right($wildsite,-4) !isin %protected.list) && ($nick !== Q) {
    inc -u10 %mBK. $+ $nick
    if ($(% $+ mBK. $+ $nick,2) == %p.BK) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$address($knick,2),32) | .timerprotect $+ $nick -m 1 500 kicknick $knick Take over protection }
  }
  if ($fline(@Nicks,$knick)) { removeline @Nicks $knick | .timerdeleteNICK $+ $knick off | .timerkicknick $+ $knick off }
  if ($fline(@FloodNicks,$knick)) { removeline @FloodNicks $knick | .timerflooddeleteNICK $+ $knick off | .timerkicknick $+ $knick off }
}
on !@*:MODE:%p.channel: if ((i isin $1) || (k isin $1)) && (%TakeOver.protect) && ($right($wildsite,-4) !isin %protected.list) && ($nick !== Q) { set -u10 %kicknick.bans $addtok(%kicknick.bans,$wildsite,32) | .timerprotect $+ $nick -m 1 500 kicknick $nick Take over protection | mode # -ik $2 }
on *:connect: .timerpmbadwords 0 1200 pmbadwords

;;dialog

menu * {
  Security bot: dialog $iif($dialog(Securitydialog),-v,-m) securitydialog securitydialog
}
dialog Securitydialog {
  title "Security bot"
  size -1 -1 105 167
  option dbu
  box "Protections", 1, 5 37 95 113
  check "Flood", 2, 10 50 24 10
  check "Massive flood", 3, 10 62 43 10
  check "Badwords", 4, 10 74 35 10
  check "PM badwords", 5, 10 86 42 10
  check "Join part", 6, 10 98 32 10
  check "Join flood", 7, 10 110 34 10
  check "Open proxy", 8, 10 122 39 10
  check "Take over", 9, 10 134 35 10
  button "Times", 10, 54 50 40 10
  button "Times", 11, 54 62 40 10
  button "Control", 12, 54 74 40 22
  button "Times", 13, 54 98 40 10
  button "Times", 14, 54 110 40 10
  button "Ban+kick times", 15, 54 134 40 10
  button "Control", 17, 54 122 40 10
  text "Channel:", 18, 5 7 23 8
  edit "", 19, 30 5 50 10
  button "OK", 20, 82 4 19 12
  button "Protected control", 21, 5 21 96 12
  text "", 22, 5 154 95 8
}
dialog Securitydialogcontrol {
  title "Control"
  size -1 -1 127 56
  option dbu
  list 1, 4 5 79 46, size
  button "Add", 2, 86 6 37 12
  button "Remove", 3, 86 22 37 12
  button "Clear", 4, 86 38 37 12
}
alias flashtext {
  var %x 1,%y 0, %p 1
  var %text
  while (%p <= 2) {
    %x = 1
    unset %flash
    if (%p == 1) { inc -u1 %flash | %text = Arthas Securitybot V4.2 }
    elseif (%p == 2) { %text = www.mIRCs.co.il }
    while ($len(%text) >= %x) {
      .timerdsecurityasds $+ %y -m 1 %y did -ra Securitydialog 22 $iif($left(%text,%x),$v1,$chr(1))
      inc %x
      inc %y 20
    }
    if (%flash) {
      inc %y 700 | var %f = 1 | while (%f <= 3) {
        .timerdsecurityasdsg $+ %y -m 1 %y did -ra Securitydialog 22 $chr(10) | inc %y 200
        .timerdsecurityasdsg $+ %y -m 1 %y did -ra Securitydialog 22 %text | inc %y 400 | inc %f
        .timerdsecurityunun $+ %y -m 1 %y unset %flash
      }
    }
    else {
      inc %y 700
    }
    %x = 1
    while ($len(%text) > %x) {
      .timerdsecurityasdsg $+ %y -m 1 %y did -ra Securitydialog 22 $iif($left(%text,- $+ %x),$v1,$chr(1))
      inc %x
      inc %y 20
    }
    inc %p
  }

  .timerdsecuritynewf8 -m 1 %y flashtext
}
on *:dialog:Securitydialog*:*:*:{
  if ($dname == Securitydialog) {
    if ($devent == init) {
      flashtext
      did -a $dname 19 %p.channel
      if (%Flood.protect) did -c $dname 2
      if (%MassiveFlood.protect) did -c $dname 3
      if (%Badwords.protect) did -c $dname 4
      if (%PMBadwords.protect) did -c $dname 5
      if (%Joinpart.protect) did -c $dname 6
      if (%Joinflood.protect) did -c $dname 7
      if (%Openproxy.protect) did -c $dname 8
      if (%TakeOver.protect) did -c $dname 9
    }
    elseif ($devent == sclick) {
      if ($did == 10) { $iif($input(Set flood text times:,e,Settings,%p.floodtimes),set %p.floodtimes $v1) }
      elseif ($did == 11) { $iif($input(Set massive flood text times:,e,Settings,%p.massivetimes),set %p.massivetimes $v1) }
      elseif ($did == 12) { if ($dialog(Securitydialogcontrol)) dialog -x Securitydialogcontrol | dialog -m Securitydialogcontrol Securitydialogcontrol | dialog -t Securitydialogcontrol Badwords control }
      elseif ($did == 13) { $iif($input(Set join part times:,e,Settings,%p.jparttimes),set %p.jparttimes $v1) }
      elseif ($did == 14) { $iif($input(Set join flood - join times:,e,Settings,%p.jfloodtimes),set %p.jfloodtimes $v1) }
      elseif ($did == 15) { $iif($input(Set ban and kicks times:,e,Settings,%p.BK),set %p.BK $v1) }
      elseif ($did == 17) { if ($dialog(Securitydialogcontrol)) dialog -x Securitydialogcontrol | dialog -m Securitydialogcontrol Securitydialogcontrol | dialog -t Securitydialogcontrol Openproxy control }
      elseif ($did == 20) && (#* iswm $did(19)) { set %p.channel $did(19) }
      elseif ($did == 21) { if ($dialog(Securitydialogcontrol)) dialog -x Securitydialogcontrol | dialog -m Securitydialogcontrol Securitydialogcontrol | dialog -t Securitydialogcontrol Protected control }
      elseif ($did isnum 2-9) {
        var %sset = $iif($did($did).state,inc,unset)
        goto $did
        :2 | %sset %Flood.protect | halt
        :3 | %sset %MassiveFlood.protect | halt
        :4 | %sset %Badwords.protect | halt
        :5 | %sset %PMBadwords.protect | halt
        :6 | %sset %Joinpart.protect | halt
        :7 | %sset %Joinflood.protect | halt
        :8 | %sset %Openproxy.protect | halt
        :9 | %sset %TakeOver.protect | halt
        halt
      }

    }
    elseif ($devent == close) { .timerdsecurity* off }
  }
  elseif ($dname == SecuritydialogControl) {
    if ($devent == init) { .timerccontrol1 -m 1 5 controlinit }
    elseif ($devent == close) { .timerccontrol1* off }
    elseif ($devent == sclick) {
      if (Badword isin $dialog(Securitydialogcontrol).title) {
        if ($did == 2) { if ($input(Write words:,e,Settings)) { write Badwords.txt $replace($v1,$chr(35),$ $+ !chr(35)) } | controlinit }
        elseif ($did == 3) && ($did(1).seltext) && ($read(Badwords.txt,w,$replace($did(1).seltext,$chr(35),$ $+ !chr(35)))) { write -dl $+ $readn Badwords.txt | controlinit }
        elseif ($did == 4) && ($input(Are you sure clear all badwords ?,y,Clear)) { write -c Badwords.txt | controlinit }
      }
      elseif (Protected isin $dialog(Securitydialogcontrol).title) {
        if ($did == 2) { $iif($input(Write address:,e,Settings),set %protected.list $addtok(%protected.list,$v1,32)) | controlinit }
        elseif ($did == 3) && ($did(1).seltext) { set %protected.list $remtok(%protected.list,$did(1).seltext,32) | controlinit }
        elseif ($did == 4) && ($input(Are you sure clear all protected users ?,y,Clear)) { unset %protected.list | controlinit }
      }
      else {
        if ($did == 2) { $iif($input(Write address:,e,Settings),.auser OpenProxy $v1) | controlinit }
        elseif ($did == 3) && ($did(1).seltext) { .ruser OpenProxy $did(1).seltext | controlinit }
        elseif ($did == 4) && ($input(Are you sure clear all openproxy addresses ?,y,Clear)) {
          var %x = 1 | while ($ulist(*,Openproxy,%x)) { .rLEVEL OpenProxy | inc %x }
          controlinit
        }
      }
    }
  }
}
alias -l controlinit {
  did -r SecuritydialogControl 1
  if (Badword isin $dialog(Securitydialogcontrol).title) {
    var %x = 1 | while ($read(Badwords.txt,%x)) { did -a SecuritydialogControl 1 $replace($v1,$ $+ chr(35),$chr(35),$ $+ !chr(35),$chr(35)) | inc %x }
  }
  elseif (Protected isin $dialog(Securitydialogcontrol).title) {
    var %x = 1 | while ($gettok(%protected.list,%x,32)) { did -a SecuritydialogControl 1 $v1 | inc %x }
  }
  else {
    var %x = 1 | while ($ulist(*,Openproxy,%x)) { did -a SecuritydialogControl 1 $v1 | inc %x }
  }
}




רשימת ה OpenProxy

OpenProxy:*!*@6*
OpenProxy:*!*@*.snet*
OpenProxy:*!*@*t-dialin*
OpenProxy:*!*@219.*
OpenProxy:*!*@*global*
OpenProxy:*!*@*k.net
OpenProxy:*!*@*p.net
OpenProxy:*!*@*v.net
OpenProxy:*!*@*.hfc*
OpenProxy:*!*@*d.net
OpenProxy:*!*@4*
OpenProxy:*!*@213.*
OpenProxy:*!*@*.nl
OpenProxy:*!*@nex.*
OpenProxy:*!*@189.*
OpenProxy:*!*@*c.net
OpenProxy:*!*@*.kr
OpenProxy:*!*@*.ch
OpenProxy:*!*@*.volia*
OpenProxy:*!*@*gateway*
OpenProxy:*!*@*Proxy2*
OpenProxy:*!*@*st.net
OpenProxy:*!*@*.com*
OpenProxy:*!*@*.forward.012.net.
OpenProxy:~biruax@84.95.160.169.forward.012.net.il
OpenProxy:-cue.puntonet.ec
OpenProxy:*!*@*-cue.puntonet.ec
OpenProxy:*!*@*.dsl.siol
OpenProxy:*!*@*.proxad*
OpenProxy:*!*@*.telesp.br
OpenProxy:*!*@*.dsl.telesp.br
OpenProxy:*!*@*.farcpe.i29.net
OpenProxy:*!*@*.optonline*
OpenProxy:*!*@*.dsl.bell.ca
OpenProxy:*!*@*.dyn.user.ono.com
OpenProxy:*!*@*.w82-124.abo.wanadoo.fr
OpenProxy:*!*@*.wroclaw.dialog.p
OpenProxy:*!*@*.fuse
OpenProxy:*!*@*.rev.gaoland
OpenProxy:*!*@*.bak.res.
OpenProxy:*!*@*.ok.ok
OpenProxy:*!*@*.lv.lv
OpenProxy:*!*@*.chello
OpenProxy:*!*@*.lf
OpenProxy:*!*@*.kc.
OpenProxy:*!*@*.forward
OpenProxy:*!*@*.ibercom
OpenProxy:*!*@*.ks
OpenProxy:*!*@*.cab.prima.
OpenProxy:*!*@*.mc
OpenProxy:*!*@*.static
OpenProxy:*!*@*.myserver
OpenProxy:*!*@*.dsl.anhm01
OpenProxy:*!*@*.pa
OpenProxy:*!*@*.tor*
OpenProxy:*!*@*s.net
OpenProxy:*!*@*.sk
OpenProxy:*!*@*comcast*
OpenProxy:*!*@*.ju
OpenProxy:*!*@*.dk
OpenProxy:*!*@*r.net
OpenProxy:*!*@*.ru
OpenProxy:*!*@*h.net
OpenProxy:*!*@4*
OpenProxy:*!*@5*
OpenProxy:*!*@211.*
OpenProxy:*!*@218.*
OpenProxy:*!*@*.verizon*
OpenProxy:*!*@*.info
OpenProxy:*!*@3*
OpenProxy:*!*@*.cox*
OpenProxy:*!*@*.jp
OpenProxy:*!*@*l.net
OpenProxy:*!*@*y.net
OpenProxy:*!*@*.bg
OpenProxy:*!*@*.dsl*
OpenProxy:*!*@*.hu
OpenProxy:*!*@*.au
OpenProxy:*!*@*.pk
OpenProxy:*!*@22*
OpenProxy:*!*@*.it
OpenProxy:*!*@*.fr
OpenProxy:*!*@*.es
OpenProxy:*!*@20*
OpenProxy:*!*@*.fi
OpenProxy:*!*@*.br
OpenProxy:*!*@*.pl
OpenProxy:*!*@*.uk
OpenProxy:*!*@*.se
OpenProxy:*!*@*.yu
OpenProxy:*!*@*.pt
OpenProxy:*!*@*.ar
OpenProxy:*!*@*x.net
OpenProxy:*!*@*n.net
OpenProxy:*!*@*.be
OpenProxy:*!*@*.cl
OpenProxy:*!*@*.hr
OpenProxy:*!*@c-*
OpenProxy:*!*@*.de
OpenProxy:*!*@*.r?
OpenProxy:*!*@*.lt
OpenProxy:*!*@*2.net
OpenProxy:*!*@*.lu
OpenProxy:*!*@*.no
OpenProxy:*!*@*.be
OpenProxy:*!*@*.fi
OpenProxy:*!*@*.fr
OpenProxy:*!*@*.bg
OpenProxy:*!*@26*.*.*.*
OpenProxy:*!*@25*. *.*.*
OpenProxy:*!*@*.au
OpenProxy:*!*@5*.*.*.*
OpenProxy:*!*@22*.*.*.*
OpenProxy:*!*@*.us
OpenProxy:*!*@88.148*
OpenProxy:*!*@*.yu
OpenProxy:*!*@77.124.70*
OpenProxy:*!*@89.0.197*
OpenProxy:*!*@80.178.78*
OpenProxy:*!*@200-199-*
OpenProxy:*!*@189.39.*
OpenProxy:*!*@234.34.*
OpenProxy:*!*@88.80.*
OpenProxy:*!*@90.150.*
OpenProxy:*!*@200.89.*
OpenProxy:*!*@89.122.*
OpenProxy:*!*Mad@*
OpenProxy:*!*@*.r?
OpenProxy:*!*@88.148*
OpenProxy:*!*@124.*
OpenProxy:*!*@202.*
OpenProxy:*!*@189.*
OpenProxy:*!*@125.*
OpenProxy:*!*@218*.*.*.*
OpenProxy:*!*@90*.*.*.*
OpenProxy:*!*@193.*
OpenProxy:*!*@207-118-*
OpenProxy:*!*@87.231.*
OpenProxy:*!*@*.fuse.net
OpenProxy:*!*@75.14*.*
OpenProxy:*!*@*.br
OpenProxy:*!*@*.volja.net
OpenProxy:*!*@*.hr
OpenProxy:*!*@*.sg
OpenProxy:*!*@*.at
OpenProxy:*!*@*.upc.cz
OpenProxy:*!*@201.242.*
OpenProxy:*!*@*.newwavecomm.net
OpenProxy:*!*@*.hinet.net
OpenProxy:*!*@*.afnet.net
OpenProxy:*!*@196.*
OpenProxy:*!*@20*
OpenProxy:*!*@*.airstreamcomm.net
OpenProxy:*!*@*.zoominternet.net
OpenProxy:*!*@68.*
OpenProxy:*!*@125.*
OpenProxy:*!*@*.it
OpenProxy:*!*@60.*
OpenProxy:*!*@189.*
OpenProxy:*!*@*.gci.net
OpenProxy:*!*@*.guam.net
OpenProxy:*!*@*.ba
OpenProxy:*!*@124.*
OpenProxy:*!*@*.md
OpenProxy:*!*@*.r?
OpenProxy:*!*@*.lt
OpenProxy:*!*@*2.net
OpenProxy:*!*@66.*
OpenProxy:*!*@*.lu
OpenProxy:*!*@*.no
OpenProxy:*!*@*.fi
OpenProxy:*!*@*.bg
OpenProxy:*!*@26*.*.*.*
OpenProxy:*!*@25*. *.*.*
OpenProxy:*!*@*.au
OpenProxy:*!*@5*.*.*.*
OpenProxy:*!*@22*.*.*.*
OpenProxy:*!*@*.us
OpenProxy:*!*@88.148*
OpenProxy:*!*@*.yu
OpenProxy:*!*@77.124.70*
OpenProxy:*!*@89.0.197*
OpenProxy:*!*@80.178.78*
OpenProxy:*!*@200-199-*
OpenProxy:*!*@189.39.*
OpenProxy:*!*@234.34.*
OpenProxy:*!*@88.80.*
OpenProxy:*!*@90.150.*
OpenProxy:*!*@200.89.*
OpenProxy:*!*@89.122.*
OpenProxy:*!*Mad@*
OpenProxy:*!*@*.r?
OpenProxy:*!*@88.148*
OpenProxy:*!*@124.*
OpenProxy:*!*@202.*
OpenProxy:*!*@189.*
OpenProxy:*!*@60.*
OpenProxy:*!*@125.*
OpenProxy:*!*@68.*
OpenProxy:*!*@218*.*.*.*
OpenProxy:*!*@90*.*.*.*
OpenProxy:*!*@193.*
OpenProxy:*!*@207-118-*
OpenProxy:*!*@87.231.*
OpenProxy:*!*@*.fuse.net
OpenProxy:*!*@75.14*.*
OpenProxy:*!*@*.br
OpenProxy:*!*@*.volja.net
OpenProxy:*!*@*.hr
OpenProxy:*!*@*.sg
OpenProxy:*!*@*.at
OpenProxy:*!*@*.cz
OpenProxy:*!*@*.ba
OpenProxy:*!*@*.rs
OpenProxy:*!*@*.at
OpenProxy:*!*@*.t-dialin.net
OpenProxy:*!*@*.volja.net
OpenProxy:*!*@*.hr
OpenProxy:*!*@*.sg
OpenProxy:*!*@*.jp
OpenProxy:*!*@*.ar
OpenProxy:*!*@*.es
OpenProxy:*!*@*.pl
OpenProxy:*!*@*.br
OpenProxy:*!*@199.*
OpenProxy:*!*@196.*
OpenProxy:*!*@*.cz
OpenProxy:*!*@20*
OpenProxy:*!*@*.airstreamcomm.net
OpenProxy:*!*@*.zoominternet.net
OpenProxy:*!*@125.*
OpenProxy:*!*@*.it
OpenProxy:*!*@189.*
OpenProxy:*!*@*.ca
OpenProxy:*!*@*.gci.net
OpenProxy:*!*@*.guam.net
OpenProxy:*!*@124.*
OpenProxy:*!*@*.md
OpenProxy:*!*@*.r?
OpenProxy:*!*@*.lt
OpenProxy:*!*@*2.net
OpenProxy:*!*@*.lu
OpenProxy:*!*@*.no
OpenProxy:*!*@*.be
OpenProxy:*!*@*.fi
OpenProxy:*!*@*.fr
OpenProxy:*!*@*.bg
OpenProxy:*!*@26*.*.*.*
OpenProxy:*!*@25*. *.*.*
OpenProxy:*!*@*.au
OpenProxy:*!*@5*.*.*.*
OpenProxy:*!*@22*.*.*.*
OpenProxy:*!*@*.us
OpenProxy:*!*@88.148*
OpenProxy:*!*@*.yu
OpenProxy:*!*@77.124.70*
OpenProxy:*!*@89.0.197*
OpenProxy:*!*@80.178.78*
OpenProxy:*!*@200-199-*
OpenProxy:*!*@189.39.*
OpenProxy:*!*@234.34.*
OpenProxy:*!*@88.80.*
OpenProxy:*!*@90.150.*
OpenProxy:*!*@200.89.*
OpenProxy:*!*@89.122.*
OpenProxy:*!*Mad@*
OpenProxy:*!*@*.r?
OpenProxy:*!*@88.148*
OpenProxy:*!*@124.*
OpenProxy:*!*@202.*
OpenProxy:*!*@189.*
OpenProxy:*!*@125.*
OpenProxy:*!*@218*.*.*.*
OpenProxy:*!*@90*.*.*.*
OpenProxy:*!*@193.*
OpenProxy:*!*@207-118-*
OpenProxy:*!*@87.231.*
OpenProxy:*!*@*.fuse.net
OpenProxy:*!*@75.14*.*
OpenProxy:*!*@*.afnet.net
OpenProxy:*!*@.info
OpenProxy:*!*@*.hinet.net
OpenProxy:*!*@*.vn
OpenProxy:*!*@*.strace.net
OpenProxy:*!*@*.sk
OpenProxy:*!*@gr
OpenProxy:*!*@cox.net
OpenProxy:*!*@ma
OpenProxy:*!*@de
OpenProxy:*!*@info
OpenProxy:*!*@ar
OpenProxy:*!*@it
OpenProxy:*!*@no
OpenProxy:*!*@hu
OpenProxy:*!*@br
OpenProxy:*!*@*.r?
OpenProxy:*!*@*.Level?.net
OpenProxy:*!*@videotron
OpenProxy:*!*@*.no
OpenProxy:*!*@*.es
OpenProxy:*!*@*.info
OpenProxy:*!*@*.ar
OpenProxy:*!*@*.gr
OpenProxy:*!*@*.pl
OpenProxy:*!*@*.br
OpenProxy:*!*@*.it
OpenProxy:*!*@4.*
OpenProxy:*!*@*.ppp-249-197.98-62.inwind.it
OpenProxy:*!*@*79.17.212.64
OpenProxy:*!*@*.INFO
OpenProxy:*!*@*.jp
OpenProxy:*!*@*.gr
OpenProxy:*!*@*.shawcable.net
OpenProxy:*!*@*.ae
OpenProxy:*!*@*.pl
OpenProxy:*!*@*south.net
OpenProxy:*!*@*.hr
OpenProxy:*!*@*.ru
OpenProxy:*!*@*.bellsouth.net
OpenProxy:*!*@*.yu
OpenProxy:*!*@*.info
OpenProxy:*!*@*.no
OpenProxy:*!*@124.*
OpenProxy:*!*@201.*
OpenProxy:*!*@211.*
OpenProxy:*!*@222.*
OpenProxy:*!*@221.*
OpenProxy:*!*@189.*
OpenProxy:*!*@54.*
OpenProxy:*!*@50.*
OpenProxy:*!*@20.*
OpenProxy:*!*@5.*
OpenProxy:*!*@197.*
OpenProxy:*!*@12.*
OpenProxy:*!*@159.148.82.3
OpenProxy:*!*@4.*
OpenProxy:*!*@bzq-79-180-110-69.red.bezeqint.net
OpenProxy:*!*@.party-w33kends.de
OpenProxy:*!*@119.146.67.234
OpenProxy:*!*@83.136.140.3
OpenProxy*!*@194.44.241.10
OpenProxy:*!*@159.148.82.3
OpenProxy:*!*@119.146.67.234
OpenProxy:*!*@212.116.219.52
OpenProxy:*!*@212.92.3.154
OpenProxy:*!*@201.80.1.223
OpenProxy*!*@211.24.226.8
OpenProxy:*!*@12.*
OpenProxy:*!*@4.*
OpenProxy:*!*@200.*
OpenProxy:*!*@*.Level?.net
OpenProxy:*!*@*.ppp-249-197.98-62.inwind.it
OpenProxy:*!*@190.191.32.7
OpenProxy:*!*@65.167.42.30
OpenProxy:*!*@78.154.132.2
OpenProxy:*!*@c75.152.17-96.clta.globetrotter.net
OpenProxy:*!*@190.1.137.102
OpenProxy:*!*@*.Level?.net
OpenProxy:*!*@75.142.201.37
OpenProxy:*!*@24.167.14.48
OpenProxy:*!*@125.254.66.178
OpenProxy:*!*@86.96.226.16
OpenProxy:*!*@daniel-pomrehn.de
OpenProxy:*!*@118.98.212.250
OpenProxy:*!*@125.17.156.226
OpenProxy:*!*@77.125.131.224
OpenProxy:*!*@118.98.212.250
OpenProxy:*!*@.plus.com
OpenProxy:*!*@211.245.106.195
OpenProxy:*!*@*.ppp-249-197.98-62.i
OpenProxy:*!*@*.online.no
OpenProxy:*!*@*.telfort.nl
OpenProxy:*!*@*.on-yahoo.com
OpenProxy:*!*@*.it
OpenProxy:*!*@75.142.138.35
OpenProxy:*!*@*.rs
OpenProxy:*!*@*.lau.biz
OpenProxy:*!*@*.phnet.fi
OpenProxy:*!*@*.telepec.pt
OpenProxy:*!*@*.inet.fi
OpenProxy:*!*@*.kepa.fi
OpenProxy:*!*@*.wh0is.de
OpenProxy:*!*@cjet.fi
OpenProxy:*!*@.ip-connect.de
OpenProxy:*!*@.kabelbw.de
OpenProxy:*!*@.web.am
OpenProxy:*!*@cjet.fi
OpenProxy:*!*@*.playarea.nu
OpenProxy:*!*@*.info.tm
OpenProxy:*!*@.suomi.net
OpenProxy:*!*@.versanet.de
OpenProxy:*!*@*.agr0.de
OpenProxy:*!*@*.24online.fi
OpenProxy:*!*@*.emphatix.com
OpenProxy:*!*@*.ntl.com
OpenProxy:*!*@*.elisa-laajakaista.fi
OpenProxy:*!*@*.t-dial.ni
OpenProxy:*!*@*.t-dialin.net
OpenProxy:*!*@*.ca
OpenProxy:*!*@*.versanet.de
OpenProxy:*!*@*.stratoserver*nwind.it
OpenProxy:*!*@*.fr
OpenProxy:*!*@*.br
OpenProxy:*!*@*.be
OpenProxy:*!*@*.idletown.de
OpenProxy:*!*@i577AA7D5.versanet*

נערך לאחרונה על ידי Arthas בתאריך 14 נובמבר 2010, 19:58, נערך 9 פעמים בסך הכל.
תמונה

KaryoS
משתמש רשום
Re: Arthas Securitybot v4.0
הצטרף: 13 יולי 2010, 16:40
הודעות: 38
פורסם: 26 ספטמבר 2010, 11:28
כל הכבוד שחר יא תותח בוט הגנות מעולה ממליץ !!

הצטרף: 15 יולי 2010, 12:54
הודעות: 2
פורסם: 26 ספטמבר 2010, 11:34
חח,כמו שכבר KaryoS לקח לי תמילים,בוט הגנות מעולה,ללא באגים ומומלץ!
שחר יא תותח. D:

Ohad
מנהל האתר
Re: Arthas Securitybot v4.0
הצטרף: 29 יוני 2010, 16:13
הודעות: 112
פורסם: 26 ספטמבר 2010, 11:53
נחמד מאוד, אחלה השקעה.
הערות:
  • רצוי לא להישתמש ב-menu * מכיוון שהוא יציג את המניו בכל החלונות שיפתחו במירק וזה לא מקצועי.
  • בקרדיט שרשמת במניו רצוי להישתמש ב-style$ מספר 2
  • רצוי להוסיף אוונט on load
  • הקוד מאוד מסורבל ומכיל שורות ארוכות של קוד, תחלק אותם לכמה שורות
  • בהצגת ה-bad words, תאפס את המשתנה %badwords לפני שאתה מתחיל לקרוא מהקובץ (במידה והקובץ לא קיים)
  • בשביל לקרוא מקובץ, צריך שהוא קיים (ב-bad word)
  • bad word לא חייבת להיות מילה אחת (שמוסיפים מילה אתה רושם write word)
  • כדאי להציג את ה-bad words ע"י submenu$ או באפשרות m ב-input$
  • תסדר את הקוד לפי סדר כרונולוגי
  • תשתמש ב-elseif איפה שאפשר
בהצלחה!

הצטרף: 22 יולי 2010, 08:15
הודעות: 12
פורסם: 26 ספטמבר 2010, 12:07
מיקום: Haifa Zobor
:) כל הכבוד על השקעה שחר באמת אחד מבוטים הכי טובים אני נהנה מכל רגע בבוטים תודה שחר :)

הצטרף: 24 יולי 2010, 21:52
הודעות: 8
פורסם: 26 ספטמבר 2010, 20:31
לא הסתכלתי על הקוד תאמת כי אין לי כוח, סתם בחפיף
anyway


    - menu channel ולא menu *
    - יהיה מצויין אם תוסיף דיאלוג כמובן, הרבה יותר נוח ומקצועי!
    - ב Menu , תסביר את עצמך בשאלות ושים דוגמאות, למשל:
    Set Channel > Set desired channel to protect [e.g #MyChannel]

    או
    Set Flood times > How many times to spam for kick/ban[e.g 4]

    - תשלב גם הגנות ליוזר - User Protection שהכל יהיה כלול, לא קשה. אז שים אותו גם במיניו נפרד.

:mrgreen: Good Job

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 26 ספטמבר 2010, 22:59
סבבה אחי אבל ממש שטויות.
למה שהמניו יהיה רק בערוץ ? אני רוצה שהוא יהיה בכל הערוצים וזו לא טעות, אולי אתה מעדיף אחרת.
לדעתי המניו ממש מקצועי, לא צריך דיאלוג סתם השקעה .. המניו מספק.
לא הבנתי את ה User Protection, התכוונת למשתמשים ב protected ? כי אם כן אז יש ..
תמונה

הצטרף: 15 יולי 2010, 12:54
הודעות: 2
פורסם: 27 ספטמבר 2010, 20:12
בוט טוב,אבל לאחר כמה בדיקות שלי בבוט,ראיתי שכאשר המשתמשים המוגנים בבוט מקבלים קיק או באן,הבוט מעיף את אותו אחד מהערוץ,אבל לא מוריד תבאן לאותו אחד שהוא בעצם "מגן" עליו,זו לא בעיה לעשות את זה לבד,אבל בשחרור הבא,תשתדל שזה יתוקן.
חוץ מי זה, בוט מצויין ללא באגים או כל דבר אחר,אבל,באמת עדיף שתעשה דיאלוג לבוט,זה יהיה יותר נוח למשתמש ומקצועי מצידך.
עבודה מצויינת שחר. D:.

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 14 נובמבר 2010, 19:59
גירסא 4.2 עודכנה, כתוב הכל בעדכון למעלה
תמונה

הצטרף: 13 יולי 2010, 16:40
הודעות: 38
פורסם: 14 נובמבר 2010, 20:30
אחלה דיאלוג מובן מפורט בלי בעיות בקיצור אחלה בוט הגנות :)

הצטרף: 01 יולי 2010, 13:18
הודעות: 66
פורסם: 14 נובמבר 2010, 20:31
זה מה שיש לך להגיד ? אחלה ? XD
תמונה

הצטרף: 29 יוני 2010, 16:13
הודעות: 112
פורסם: 08 דצמבר 2010, 08:14
בבקשה סדר את התמונות כדי שאוכל להעביר את הקוד מפה.

הצטרף: 07 ינואר 2011, 23:04
הודעות: 2
פורסם: 08 ינואר 2011, 01:15
לא עובד.. :S

הצטרף: 30 יוני 2010, 18:18
הודעות: 75
פורסם: 12 ינואר 2011, 20:31
לא קראית את הקוד אבל בכל זאת יש לי משהו לומר לגביו
אני זוכר שכאשר אני בניתי את הסקריוריטי בוט שלי גם אני השתמשתי ברשימה של פרוקסי וזה גרם לי לבעיה מסויימת
ריצה כל השורות האילו מה עד שהן מיקובץ טקסט ולא בחלון שפתוח במירק זה עבודה לא מבוטלת מה שיכול מאוד להעמיס על הבוט

אני פטרתי את זה בכתיבה של קובץ טקסט נוסף שעוזר במציאת הפרוקסי מבלי לעבור על כל הרשימה
עזוב אותך שבסופו של דבר כתבתי קוד שבודק אם הוא קלון או לא קלון בלי פרוקסי שמור וגם אונס כלבת על הדרך אבל זה לסוף :)
תקראה את זה שוב אולי יעלה לך רעיון
בהצלחה גבר!!
In the name of God, impure souls of the living dead shall be banished into eternal damnation
Amen
תמונה
אפשר למצוא אותי בערוץ החברים שלי בקווקנט tomer2k#

הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 14 אוגוסט 2011, 07:34
תודה רבה על פרסום הקוד!
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הבא

חזור אל סניפטים

cron