Se todos os passos anteriores estiverem corretos, agora é só copiar o código-fonte abaixo pata um arquivo e correr pro abraço.
Não esqueça de tornar o arquivo executável através do comando:
chmod 0500 <nome_do_arquivo>
Script do "programa":
#!/bin/sh
# Controle do Squid Versão 0.1
# Originalmente desenvolvido por Djair Dutra C. Jr.
# djairdutra@hotmail.com ou djair@radioconnect.com.br
reload_squid (){
/etc/init.d/squid reload
}
add_cli (){
typec=
ipcli=
ipcli=$(dialog --stdout --inputbox "DIGITE O IP DO CLIENTE:" 0 0)
typec=$(dialog --stdout --menu "ESCOLHA O TIPO DE ACESSO DO CLIENTE:" 0 0 0 1 'ACESSO TOTAL' 2 'ACESSO RESTRITO')
if [ $typec == '1' ]; then
echo "$ipcli" >> /etc/squid/acesso_total
reload_squid &&
start
elif [ $typec == '2' ]; then
echo "$ipcli" >> /etc/squid/acesso_restrito
reload_squid &&
start
else
start
fi
}
del_cli (){
delcli=$(dialog --stdout --inputbox "DIGITE O IP DO CLIENTE QUE DESEJA EXCLUIR:" 0 0)
if [ $delcli == "" ]; then
dialog --stdout --msgbox "OPCAO INVALIDA!" 0 0
start
else
cat /etc/squid/acesso_total | grep -iv $delcli > /tmp/delcli &&
cat /tmp/delcli > /etc/squid/acesso_total &&
cat /etc/squid/acesso_restrito | grep -iv $delcli > /tmp/delcli2 &&
cat /tmp/delcli2 > /etc/squid/acesso_restrito &&
reload_squid &&
start
fi
}
add_exc (){
addexc=$(dialog --stdout --title "ADICIONAR PALAVRAS AS EXCECOES DO BLOQUEIO" --inputbox "
Digite a palavra que deseja adicionar na lista de exceções dos bloqueios.
OBS: Se a palavra sexo (conteúdo pornográfico) estiver na lista de bloqueios, você pode abrir uma exceção para o site sexoesaude.com.br (site sobre saúde).
Dessa forma a palavra sexo continuará bloqueada, mas haverá uma exceção para o site sexoesaude.com.br" 0 0).
if [ $addexc == "" ]; then
dialog --stdout --msgbox "NAO FOI ESCOLHIDA NENHUMA PALAVRA." 0 0
start
elif [ $? == '2' ]; then
start
else
echo "$addexc" >> /etc/squid/liberado
reload_squid && start
fi
}
list_view(){
view=$(dialog --stdout --title "VISUALIZAR LISTA" --menu "Escolha a lista que deseja visualizar." 0 0 0 1 'LISTA DE BLOQUEIOS' 2 'LISTA DE EXCECOES' 3 'LISTA DE DOWNLOADS BLOQUEADOS' 4 'LISTA DE CLIENTES COM ACESSO TOTAL' 5 'LISTA DE CLIENTES COM ACESSO RESTRITO')
if [ $view == '1' ]; then
dialog --title "LISTA DE PALAVRAS BLOQUEADAS" --textbox /etc/squid/bloqueado 0 0
start
elif [ $view == '2' ]; then
dialog --title "LISTA DE EXCECOES DOS BLOQUEIOS" --textbox /etc/squid/liberado 0 0
start
elif [ $view == '3' ]; then
dialog --title "LISTA DE ARQUIVOS BLOQUEADOS PARA DOWNLOAD" --textbox /etc/squid/download 0 0
start
elif [ $view == '4' ]; then
dialog --title "LISTA DE CLIENTES COM ACESSO TOTAL" --textbox /etc/squid/acesso_total 0 0
start
elif [ $view == '5' ]; then
dialog --title "LISTA DE CLIENTES COM ACESSO RESTRITO" --textbox /etc/squid/acesso_restrito 0 0
start
elif [ $? == '2' ]; then
start
fi
}
add_word (){
addword=$(dialog --stdout --title "ADICIONAR PALAVRAS AO BLOQUEIO" --inputbox "Digite a palavra que deseja adicionar na lista de bloqueios. Qualquer site que tenha uma palavra da lista em seu endereço será bloqueado e exibido uma mensagem.
if [ $addword == "" ]; then
dialog --stdout --msgbox "NAO FOI ESCOLHIDA NENHUMA PALAVRA." 0 0
start
elif [ $? == '2' ]; then
start
else
echo "$addword" >> /etc/squid/bloqueado
reload_squid && start
fi
}
del_word (){
delword=$(dialog --stdout --title "REMOVER PALAVRAS DO BLOQUEIO" --inputbox "Digite a palavra que deseja remover da lista de bloqueios.
OBS: É importante lembrar que quando uma palavra for excluída desta lista, não será mais bloqueada. Em alguns casos é aconselhável adicionar uma exceção ao bloqueio." 0 0)
if [ "$delword" == "" ]; then
dialog --title "CAMPO EM BRANCO" --msgbox "Não foi digitada nenhuma palavra para exclusão." 0 0
start
elif [ $? == '2' ]; then
start
else
# MINHA MANEIRA DE EXCLUIR UMA LINHA DE UM ARQUIVO COM SEGURANCA
cat /etc/squid/bloqueado | grep -iv $delword > /tmp/bloqueado.tmp &&
cat /tmp/bloqueado.tmp > /etc/squid/bloqueado &&
reload_squid && start
fi
}
del_download (){
deldownload=$(dialog --stdout --title "REMOVER EXTENSOES DE ARQUIVOS DO BLOQUEIO DE DOWNLOADS" --inputbox "Digite a extensão do arquivo que deseja remover da lista de bloqueios de downloads." 0 0)
if [ "$deldownload" == "" ]; then
dialog --title "CAMPO EM BRANCO" --msgbox "Não foi digitada nenhuma palavra para exclusão." 0 0
start
elif [ $? == '2' ]; then
start
else
# MINHA MANEIRA DE EXCLUIR UMA LINHA DE UM ARQUIVO COM SEGURANCA
cat /etc/squid/download | grep -iv $delword > /tmp/download.tmp &&
cat /tmp/download.tmp > /etc/squid/download &&
reload_squid && start
fi
}
add_download (){
adddownload=$(dialog --stdout --title "ADICIONAR ARQUIVOS AO BLOQUEIO DE DOWNLOADS" --inputbox "
Digite a extensão do arquivo que deseja adicionar na lista de bloqueio de downloads.
OBS: LEMBRE-SE DE COLOCAR O SIFRAO ($) AO FINAL DE CADA EXTENSAO DE ARQUIVO.
Exemplos de extensoes:
.exe$ = PROGRAMAS
.avi$ = VIDEOS
.wmv$ = VIDEOS
.mp3$ = MUSICA/AUDIO
.iso$ = IMAGENS/CLONES DE CDS OU HDS
.zip$ = ARQUIVOS COMPACTADOS
" 0 0)
if [ $adddownload == "" ]; then
dialog --stdout --msgbox "NAO FOI ESCOLHIDA NENHUMA PALAVRA." 0 0
start
elif [ $? == '2' ]; then
start
else
echo "$adddownload" >> /etc/squid/download
reload_squid && start
fi
}
del_exc (){
delexc=$(dialog --stdout --title "REMOVER PALAVRAS DAS EXCECOES DE BLOQUEIO" --inputbox "Digite a palavra que deseja remover da lista de exceções." 0 0)
if [ "$delexc" == "" ]; then
dialog --title "CAMPO EM BRANCO" --msgbox "Não foi digitada nenhuma palavra para exclusão." 0 0
start
elif [ $? == '2' ]; then
start
else
# MINHA MANEIRA DE EXCLUIR UMA LINHA DE UM ARQUIVO COM SEGURANCA
cat /etc/squid/liberado | grep -iv $delexc > /tmp/liberado.tmp &&
cat /tmp/liberado.tmp > /etc/squid/liberado &&
reload_squid && start
fi
}
start(){
menu=$(dialog --cancel-label "SAIR" --stdout --title "CONTROLE DE ACESSOS" --menu "Escolha uma opção" 0 0 0 1 'ADICIONAR PALAVRAS AO BLOQUEIO' 2 'ADICIONAR PALAVRAS AS EXCECOES' 3 'EXCLUIR PALAVRAS DO BLOQUEIO' 4 'EXCLUIR PALAVRAS DAS EXCECOES' 5 'ADICIONAR ARQUIVOS AO BLOQUEIO DE DOWNLOADS' 6 'EXCLUIR ARQUIVOS DO BLOQUEIO DE DOWNLOADS' 7 'ADICIONAR CLIENTES' 8 'REMOVER CLIENTES' 9 'VER LISTAS' 10 'SOBRE')
if [ "$menu" == '1' ]; then
add_word
elif [ "$menu" == '2' ]; then
add_exc
elif [ "$menu" == '3' ]; then
del_word
elif [ "$menu" == '4' ]; then
del_exc
elif [ "$menu" == '5' ]; then
add_download
elif [ "$menu" == '6' ]; then
del_download
elif [ "$menu" == '7' ]; then
add_cli
elif [ "$menu" == '8' ]; then
del_cli
elif [ "$menu" == '9' ]; then
list_view
elif [ "$menu" == '10' ]; then
dialog --title "SOBRE O CONTROLE DE ACESSOS" --stdout --msgbox "
CONTROLE DE ACESSOS E DOWNLOADS
===============================
Descricao.....: Controle de acessos do Squid
Versao........: 0.1
Distribuicao..: Conectiva
Linux 10
Suporte.......: Djair Dutra C. Jr. / Radio Connect
Telefone......: (88) 9221-4351 / (88) 3631-2244
E-mail........: djair@radioconnect.com.br
" 0 0 && start
elif [ $? == '2' ]; then
exit
fi
}
start