Script para alterar listas do Squid
Publicado por Marcelo de Araujo 17/11/2006
[ Hits: 5.847 ]
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
Consultar fila de mensagens Postfix
Convertendo man pages em PDFs (Versão CShell)
Jukebox com dialog para PCs antigos
Configuração Teclado ABNT2 (Gnome3)
executando um determinado comando em um horario escolhido
Nenhum comentário foi encontrado.
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
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
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
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
Vc tem um projeto opensource? link? (5)
Olá quais distribuições recomendam para usar no dia a dia. (3)
minha maquina foi desinstalada o firefox eu preciso reinstalar tentei... (6)
Erro na inicialização do Arch Linux. (1)
windows 11 versao 24H2 não aplicando politicas samba4.21.1 GPO (4)