Bloquear Facebook no Linux Educacional 3
Publicado por Paulo Dias (última atualização em 30/07/2015)
[ Hits: 11.554 ]
Homepage: http://naotenhosite.eu.nao.tenho
Download 1437541275.bloquear-sites (versão 2)
Esse script serve para bloquear o Facebook e outros sites. Foi desenvolvido para o Linux Educacional 3, mas pode ser usado no Ubuntu e seus derivados, para isso é necessário que o pacote dialog esteja instalado.
Versão 2 - Enviado por Paulo Dias em 22/07/2015
Changelog: Nova versão.
Download 1437541275.bloquear-sites
#!/bin/bash # Bloquear Facebook e outros sites no Linux Educacional 3 # Para usar no Ubuntu (Linux Eduacional 5) eh necessario ter o dialog e o iptables instalados # apt-get install iptables dialog function bloquear() { diretorio_instalacao="$1"; killall firefox; desbloquear $diretorio_instalacao; if [ ! -d "$diretorio_instalacao" ] ; then mkdir $diretorio_instalacao; fi sitesBloquear=$(dialog --stdout --title 'Bloquear' --checklist 'Quais sites voce quer bloquear?' 0 0 0 facebook '' on orkut '' on twitter '' on youtube '' off outro '' off); for site in $sitesBloquear ; do site=$( echo $site | tr "\"" " " ); if [ "$site" == " outro " ] ; then outro=$(dialog --stdout --title 'Qual o outro site que você quer bloquear?' --inputbox '\nBloquear outro site. Você não precisa digitar a url completa, digite apenas o nome do site. \n\n ex: Para www.facebook.com digite apenas facebook' 0 0 ); if [ -n "$outro" ] ; then echo -n "$outro " >> $diretorio_instalacao/bloqueios; fi else echo -n "$site " >> $diretorio_instalacao/bloqueios; fi done #escreve o script de bloqueio echo "diretorio_instalacao=$diretorio_instalacao" > $diretorio_instalacao/bloquear-sites; echo 'modprobe ipt_string;' >> $diretorio_instalacao/bloquear-sites; echo 'for bloqueio in $( cat $diretorio_instalacao/bloqueios ) ; do' >> $diretorio_instalacao/bloquear-sites echo 'iptables -I OUTPUT -m string --algo bm --string "$bloqueio" -j DROP' >> $diretorio_instalacao/bloquear-sites echo 'done' >> $diretorio_instalacao/bloquear-sites #permissao chmod 755 $diretorio_instalacao -R; #executa $diretorio_instalacao/bloquear-sites #coloca na inicializacao ln -s $diretorio_instalacao/bloquear-sites /etc/init.d/bloquear-sites; update-rc.d bloquear-sites defaults; } function desbloquear() { diretorio_instalacao="$1"; rm -rf $diretorio_instalacao/*; update-rc.d bloquear-sites remove; rm -rf /etc/init.d/bloquear-sites; #iptables --flush } function listar() { diretorio_instalacao="$1"; if [ -e "$diretorio_instalacao/bloqueios" ] ; then dialog --title 'Sites bloqueados' --textbox $diretorio_instalacao/bloqueios 0 0 fi } # # inicio do codigo prinipal # ----------------------------------------------------------------------------------------------- usuario=$(whoami); if [ "$usuario" != "root" ] ; then echo "Vc deve ser root ou usar o sudo!"; exit 1; fi operacao=$( dialog --stdout --menu 'Selecione a operação' 0 0 0 1 'Bloquear sites' 2 'Desbloquear sites' 3 'Listar sites bloqueados'); if [ -z "$operacao" ] ; then exit 0; fi diretorio_instalacao="/opt/bloqueador-sites"; if [ $operacao -eq 1 ]; then bloquear $diretorio_instalacao > /dev/null 2>&1; dialog --title 'Operacao concluida' --msgbox 'Operacao concluida.' 6 40; else if [ $operacao -eq 2 ] ; then desbloquear $diretorio_instalacao > /dev/null 2>&1; dialog --title 'Operacao concluida' --msgbox 'Operacao concluida. Talvez seja necessário reiniciar!' 6 40 else if [ $operacao -eq 3 ] ; then listar $diretorio_instalacao; fi fi fi clear
Retra de iptables para DMZ na porta 80
Comparar recursivamente duas pastas
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta