Script para alterar listas do Squid

Publicado por Marcelo de Araujo 17/11/2006

[ Hits: 5.671 ]

Download sites




Segue um script para manipular as listas do Squid, bem simples, mas que me ajudou bastante, principalmente porque é meu primeiro script. Tirei várias idéias de vários scripts que vi.

Se tiverem sugestões para melhorar por favor mandem.

  



Esconder código-fonte

#!/bin/bash

# Loop que mostra o menu principal
while : ; do

    # Mostra o menu na tela, com as ações disponíveis
    resposta=$(
      dialog --stdout               \
             --title 'Menu de Bloqueio/Liberao Acesso a Sites'  \
             --menu 'Escolha o que voce quer fazer:' \
             0 0 0                   \
             1  'Incluir Palavras Bloqueadas'  \
             2  'Incluir Sites Bloqueados'     \
        3   'Incluir Sites Pornos Bloqueados'   \
             4   'Liberar Sites pela URL'   \
             5   'Liberar Sites pelo IP'   \
             a   'Usuarios com direito a Consultas'   \
             b   'Usuarios com direito a Download'   \
             c   'Usuarios com direito a Download e Consultas'   \
             d   'Usuarios com direitos TOTAIS'   \
             e  'Listagens'   \
             f   'Excluir Usuarios com direito a Consultas'   \
             g   'Excluir Usuarios com direito a Download'   \
             h   'Excluir Usuarios com direito a Download e Consultas'   \
             i  'Excluir Usuarios com direitos TOTAIS'   \
             r   'SQUID RESTART'   \
             0  'Sair'                )
                              
    # apertou CANCELAR ou ESC, então vamos sair...
    [ $? -ne 0 ] && break
                              
    # De acordo com a opção escolhida, dispara programas
    case "$resposta" in
        1)  letter=$(dialog   \
       --stdout   \
       --inputbox "Digite a Palavra a ser Bloqueada"   \
       5 70)
       if
       cat /etc/squid/url-letter.txt | grep "$letter" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title '!!!ATENCAO!!!'   \
      --msgbox "
      A Palavra "$letter" ja esta cadastrada
      
      PRECIONE ENTER PARA CONTINUAR"   \
      0 0
       else
       echo "$letter" >>  /etc/squid/url-letter.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      A Palavra $letter foi Bloqueada com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi
   fi
       ;;
   2)  sites=$(dialog   \
       --stdout   \
       --inputbox "Digite o Site a ser bloqueado"   \
       0 0)
       if
       cat /etc/squid/url-sites.txt | grep "$sites" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title '!!!ATENCAO!!!'   \
      --msgbox "
      O Site $sites ja esta BLOQUEADO
      
      PRECIONE ENTER PARA CONTINUAR"   \
      0 0
       else
       echo "$sites" >>  /etc/squid/url-sites.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O Site $sites foi BLOQUEADO com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi       
   fi
       ;;
       3)  sitesporn=$(dialog   \
       --stdout   \
       --inputbox "Digite o site Porno a ser Bloqueado"   \
       0 0)
       if
       cat /etc/squid/url-sitesporn.txt | grep "$sitesporn" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O Site Porno $sitesporn ja esta BLOQUEADO
      
      PRECIONE ENTER PARA CONTINUAR"   \
      0 0
       else
       echo "$sitesporn" >>  /etc/squid/url-sitesporn.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      o Site Porno $sitesporn foi Bloqueado com Sucesso "   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
    fi
       ;;
       4)  consultas=$(dialog   \
       --stdout   \
       --inputbox "Digite o site (URL) a ser liberado"   \
       0 0)
       if
       cat /etc/squid/url-sitesconsultas.txt | grep "$consultas" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O Site $consultas ja encontra-se LIBERADO
      
      PRECIONE ENTER PARA CONTINUAR"   \
      0 0
       else
       echo "$consultas" >>  /etc/squid/url-sitesconsultas.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O Site $consultas foi LIBERADO com sucesso:"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
   fi
       ;;       
   5)  ip=$(dialog   \
       --stdout   \
       --inputbox "Digite o site (IP) a ser liberado"   \
       0 0)
       if
       cat /etc/squid/url-IP.txt | grep "$ip" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O IP $ip ja esta LIBERADO
      
      PRECIONE ENTER PARA CONTINUAR"   \
      0 0
       else
       echo "$ip" >>  /etc/squid/url-IP.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O IP $ip foi Liberado com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
   fi
       ;;
       a)  c=$(dialog   \
       --stdout   \
       --inputbox "digite o usuario a ser cadastrado"   \
       0 0)
       if
       cat /etc/squid/usuarioC.txt | grep "$c" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $c JA TEM PERMISSAO PARA CONSULTAS"   \
      0 0
       else
       echo "$c" >>  /etc/squid/usuarioC.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO
      $c
      foi cadastrado com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
   fi
       ;;   
   b)  d=$(dialog   \
       --stdout   \
       --inputbox "digite o usuario a ser cadastrado"   \
       0 0)
       if
       cat /etc/squid/usuarioD.txt | grep "$d" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $d JA TEM PERMISSAO PARA DOWNLOAD"   \
      0 0
       else
       echo "$d" >>  /etc/squid/usuarioD.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO
      $d
      foi cadastrado com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
   fi
       ;;
   c)  dc=$(dialog   \
       --stdout   \
       --inputbox "digite o usuario a ser cadastrado"   \
       0 0)
       if
       cat /etc/squid/usuarioCD.txt | grep "$dc" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $dc JA TEM PERMISSAO PARA CONSULTAS e DOWNLOADS"   \
      0 0
       else
       echo "$dc" >>  /etc/squid/usuarioCD.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO
      $dc
      foi cadastrado com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
   fi
       ;;      
   d)  t=$(dialog   \
       --stdout   \
       --inputbox "digite o usuario a ser cadastrado"   \
       0 0)
       if
       cat /etc/squid/usuarioT.txt | grep "$t" 1>/dev/null 2>/dev/null
       then
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $t JA TEM PERMISSAO TOTAL"   \
      0 0
       else
       echo "$t" >>  /etc/squid/usuarioT.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO
      $t
      foi cadastrado com Sucesso"   \
      0 0
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi              
   fi
       ;;
   e)  ./listagem ;;
   f)  et=$(dialog   \
       --stdout   \
       --inputbox "Digite o Usuario a ser Excluido"   \
       0 0)
   if
       cat /etc/squid/usuarioC.txt | grep "$et"
       then
       cat /etc/squid/usuarioC.txt | grep -iv "$et" > /etc/squid/novo.tmp &&
       cat /etc/squid/novo.tmp > /etc/squid/usuarioC.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et foi excluido com Sucesso"   \
      0 0       
       else
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et nao existe"   \
      0 0       
   fi
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi          
;;   
   g)  et=$(dialog   \
       --stdout   \
       --inputbox "Digite o Usuario a ser Excluido"   \
       0 0)
   if
       cat /etc/squid/usuarioD.txt | grep "$et"
       then
       cat /etc/squid/usuarioD.txt | grep -iv "$et" > /etc/squid/novo.tmp &&
       cat /etc/squid/novo.tmp > /etc/squid/usuarioD.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et foi excluido com Sucesso"   \
      0 0       
       else
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et nao existe"   \
      0 0       
   fi
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi          
;;   
   h)  et=$(dialog   \
       --stdout   \
       --inputbox "Digite o Usuario a ser Excluido"   \
       0 0)
   if
       cat /etc/squid/usuarioCD.txt | grep "$et"
       then
       cat /etc/squid/usuarioCD.txt | grep -iv "$et" > /etc/squid/novo.tmp &&
       cat /etc/squid/novo.tmp > /etc/squid/usuarioCD.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et foi excluido com Sucesso"   \
      0 0       
       else
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et nao existe"   \
      0 0       
   fi
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi          
;;   
   i)  et=$(dialog   \
       --stdout   \
       --inputbox "Digite o Usuario a ser Excluido"   \
       0 0)
   if
       cat /etc/squid/usuarioT.txt | grep "$et"
       then
       cat /etc/squid/usuarioT.txt | grep -iv "$et" > /etc/squid/novo.tmp &&
       cat /etc/squid/novo.tmp > /etc/squid/usuarioT.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et foi excluido com Sucesso"   \
      0 0       
       else
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      O USUARIO $et nao existe"   \
      0 0       
   fi
       squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi          
;;
   r)  squid -k reconfigure
       DIALOG=${DIALOG-dialog}
       (echo "5" ; sleep 2 ;
       echo "10"
       sleep 1;
       echo "50"
       sleep 1
       echo "70"
       sleep 1
       echo "XXX"
       echo "Squid Restartado com sucesso"
       echo "XXX";
       echo "100"  
       sleep 2
       ) | \
       $DIALOG --title "AGUARDE SQUID RESTARTANDO" --gauge "" 0 0 0
       if [ "$?" = 255 ] ; then
          echo "fechando"
          echo "Fechar BOX !"
       fi          
;;
   0)  clear
       break ;;
   
    esac
done
                                        
    # Mensagem final :)
       dialog \
      --title 'TAREFA FINALIZADA'   \
      --msgbox "ATE LOGO"   \
      5 0
    clear

Scripts recomendados

Script para manutenção de um servidor asterisk

Agendamento para desligar ou reiniciar

Projeto rodar League of Legends no Linux =)

Cálculo da raiz quadrada

Atualização automática Debian / Ubuntu


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts