Dragone2

BlackListIP.mrc

Aug 3rd, 2016
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 5.49 KB | None | 0 0
  1. ;Script by Dragone2 - Blacklist per IP/Host
  2. alias -l raiseerror {
  3.   if (!$line($active,0)) { linesep -a }
  4.   echo $colour(info) -a $1-
  5.   linesep -a
  6.   halt
  7. }
  8.  
  9. alias split {
  10.   if (($1 == -c) && ($0 < 2)) || (($1 != -c) && ($0 < 3)) { raiseerror * /split: Insufficient parameters }
  11.   var %c, %g, %i = 1, %name = $iif($1 == -c,$2,$v1)
  12.   if ($1 == -c) { var %c = $true }
  13.   .alias %name $+ 0
  14.   while ($isalias(%name $+ %i)) {
  15.     .alias %name $+ %i
  16.     %g = %i + 1
  17.     while ($isalias($+(%name,%i,-,%g))) {
  18.       .alias $+(%name,%i,-,%g)
  19.       inc %g
  20.     }
  21.     .alias $+(%name,%i,-)
  22.     inc %i
  23.   }
  24.   %i = %i - 1
  25.   while (%i) {
  26.     .alias $+(%name,-,%i)
  27.     dec %i
  28.   }
  29.   if (!%c) {
  30.     %i = 1
  31.     tokenize 13 $replace($3-,$2,$cr)
  32.     while ($eval($ $+ %i,2) != $null) {
  33.       if (%i < $0) {
  34.         %g = %i + 1
  35.         while ($eval($ $+ %g,2) != $null) {
  36.           .alias $+(%name,%i,-,%g) return $eval($+($,%i,-,%g),2)
  37.           inc %g
  38.         }
  39.       }
  40.       .alias $+(%name,%i) return $eval($ $+ %i,2)
  41.       .alias $+(%name,%i,-) return $eval($+($,%i,-),2)
  42.       inc %i
  43.     }
  44.     %i = %i - 1
  45.     .alias %name $+ 0 return %i
  46.     while (%i) {
  47.       inc %c
  48.       .alias $+(%name,-,%c) return $eval($ $+ %i,2)
  49.       dec %i
  50.     }
  51.   }
  52. }
  53.  
  54. ;-server- *** Notice -- Client connecting on port PORTA: NICK (IDENT@HOST)
  55. ;Si inizia a contare da *** (compreso)
  56. ;Testato con UnrealIRCd 3.2.10.4
  57. on *:SNOTICE:* Client connecting on port*: {
  58.   if ($me !isin $1-) {
  59.     var %riga 1
  60.     set %controllariga $read(blacklist-ip.txt, n, %riga)
  61.     ;%controllariga = 192.168.1.1 o HOST
  62.     while (%controllariga != $null) {
  63.       ;$9 = NICK
  64.       ;$10 = (IDENT@HOST)
  65.       ;Quindi /split n @ (IDENT@HOST) o meglio /split n @ $10 restituirà HOST) e per cui va usato $left
  66.       /split n @ $10
  67.       if (%controllariga == $left($n2,-1)) {
  68.         ;msg #prova gline *@ $+ $left($n2,-1) 1d Utente bannato da questo Network.
  69.         /gline *@ $+ $left($n2,-1) 1d Utente bannato da questo Network.
  70.       }
  71.       inc %riga
  72.       set %controllariga $read(blacklist-ip.txt, n, %riga)
  73.     }
  74.   }
  75. }
  76.  
  77. ;-server- *** Notice -- Client connecting at SERVER: NICK (IDENT@HOST)
  78. ;Si inizia a contare da *** compreso
  79. ;Testato con UnrealIRCd 3.2.10.4
  80. on *:SNOTICE:*Client connecting at *: {
  81.   if ($me !isin $1-) {
  82.     var %riga 1
  83.     set %controllariga $read(blacklist-ip.txt, n, %riga)
  84.     while (%controllariga != $null) {
  85.       ;$8 = NICK
  86.       ;$9 = (IDENT@HOST)
  87.       ;Quindi /split n @ (IDENT@HOST) o meglio /split n @ $9 restituirà HOST) e per cui va usato $left
  88.       /split n @ $9
  89.       if (%controllariga == $left($n2,-1)) {
  90.         ;msg #prova gline *@ $+ $left($n2,-1) 1d Utente bannato da questo Network.
  91.         /gline *@ $+ $left($n2,-1) 1d Utente bannato da questo Network.
  92.       }
  93.       inc %riga
  94.       set %controllariga $read(blacklist-ip.txt, n, %riga)
  95.     }
  96.   }
  97. }
  98.  
  99. ;------------------------- UnrealIRCd 4.X.X ---------------------------
  100. ;-server- *** Notice -- Client connecting: NICK (IDENT@HOST) [IP]
  101. ;Si inizia a contare da -- (compreso)
  102. ;Testato con UnrealIRCd 4.0.5
  103. on *:SNOTICE:*Client connecting*: {
  104.   if ($me !isin $1-) {
  105.     var %riga 1
  106.     set %controllariga $read(blacklist-ip.txt, n, %riga)
  107.     while (%controllariga != $null) {
  108.       ;$4 = NICK
  109.       ;$5 = (IDENT@HOST)
  110.       ;Quindi /split n @ (IDENT@HOST) o meglio /split n @ $5 restituirà HOST) e per cui va usato $left
  111.       /split n @ $5
  112.       if (%controllariga == $left($n2,-1)) {
  113.         ;msg #prova gline *@ $+ $left($n2,-1) 1d Utente bannato da questo Network.
  114.         /gline *@ $+ $left($n2,-1) 1d Utente bannato da questo Network.
  115.       }
  116.       inc %riga
  117.       set %controllariga $read(blacklist-ip.txt, n, %riga)
  118.     }
  119.   }
  120. }
  121.  
  122. on *:TEXT:!blacklist*:#: {
  123.   if ($nick == %proprietario. [ $+ [ $network ] ]) {
  124.     if ($2 == add) && ($3 != $null) { write blacklist-ip.txt $3 | msg # $3 inserito nella BlackList. | halt }
  125.     elseif ($2 == add) && ($3 == $null)  { msg # Errore: inserisci un IP/Host da mettere in BlackList. | halt }
  126.     if ($2 == del) && ($3 != $null) { write -dl $+ $3 blacklist-ip.txt | msg # La voce numero $3 è stata rimossa dalla BlackList. | halt }
  127.     elseif ($2 == del) && ($3 == $null) { msg # Errore: inserisci un IP/Host da rimuovere dalla BlackList. | halt }
  128.     if ($2 == list) {
  129.       msg # La BlackList è così composta:
  130.       var %riga 1
  131.       set %leggiriga $read(blacklist-ip.txt, n, %riga)
  132.       while (%leggiriga != $null) {
  133.         msg # %riga $+ ) %leggiriga
  134.         inc %riga 1
  135.         set %leggiriga $read(blacklist-ip.txt, n, %riga)
  136.       }
  137.       msg # Fine della lista.
  138.       halt
  139.     }
  140.     if ($2 == help) {
  141.       msg # [BlackList] - 4Comandi disponibili - [BlackList]
  142.       msg # !blacklist add <IP/Host> - Aggiunge un IP/Host nella BlackList, verrà glineato dal Network per hostname/IP se il bot è IRCOp.
  143.       msg # !blacklist del <numero> - Rimuove un nickname dalla BlackList sfruttando il numero.
  144.       msg # !blacklist list - Elenca la lista completa dei nicknames presenti nella BlackList.
  145.       halt
  146.     }
  147.   }
  148.   else { msg # Errore: non sei autorizzato ad utilizzare questo comando. }
  149. }
  150.  
  151. ;on *:NICK: {
  152. ;  if ($newnick != $me) {
  153. ;    var %riga 1
  154. ;    set %controllariga $read(blacklist.txt, n, %riga)
  155. ;    while (%controllariga != $null) {
  156. ;      if (%controllariga == $newnick) {
  157. ;        /gline $newnick 1d Utente bannato da questo Network.
  158. ;      }
  159. ;      inc %riga
  160. ;      set %controllariga $read(blacklist.txt, n, %riga)
  161. ;    }
  162. ;  }
  163. ;}
Advertisement
Add Comment
Please, Sign In to add comment