Script para alterar listas do Squid
Publicado por Marcelo de Araujo 17/11/2006
[ Hits: 6.090 ]
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 simples para compactar e descompactar arquivos
Automatizando a Instalação do Firefox no Ubuntu 9.04 Jaunty Jackalope
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (11)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









