Pular para o conteúdo

Script para alterar listas do Squid

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.
Marcelo de Araujo mda1969
Hits: 6.199 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download sites Enviar nova versão

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 [*****] 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 [*****] $sitesporn ja esta BLOQUEADO
      
      PRECIONE ENTER PARA CONTINUAR"   \
      0 0
       else
       echo "$sitesporn" >>  /etc/squid/url-sitesporn.txt
       dialog \
      --title 'ATENCAO'   \
      --msgbox "
      o Site [*****] $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

Calcular média escolar no shell

Descompactar todos os .zip de um diretório

Gerando logs para arquivos sem sobrescrever

Instalação de programas no Ubuntu Linux

Script para administração de usuários de fácil compreensão.

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.