Script para alterar listas do Squid
Publicado por Marcelo de Araujo 17/11/2006
[ Hits: 5.827 ]
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.
#!/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
Script de Instalação do ISC DHCP SERVER no Ubuntu e derivados
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)