Script para alterar listas do Squid
Publicado por Marcelo de Araujo 17/11/2006
[ Hits: 6.035 ]
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
Baixa e instala WinRAR no Linux
Banco de Dados Pessoais Interativo
Atualizar o Firefox do Linux Educacional 3
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)
Instalação dualboot Windows 11 e Debian 13 (11)









