Bloquear Facebook no Linux Educacional 3

Publicado por Paulo Dias (última atualização em 30/07/2015)

[ Hits: 11.419 ]

Homepage: http://naotenhosite.eu.nao.tenho

Download bloquear-sites

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ões atualizadas deste script

Versão 2 - Enviado por Paulo Dias em 22/07/2015

Changelog: Nova versão.

Download 1437541275.bloquear-sites


Esconder código-fonte

#!/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

Scripts recomendados

Backup do banco de dados Postgresql

INSTALADOR TAR BZ2

Script de Inventário

Gera estatísticas de tráfego de pacotes nas interfaces de um servidor linux via SNMPv3.

Cadastro de usuarios para proxy autenticado


  

Comentários
[1] Comentário enviado por noisnon em 18/06/2014 - 12:14h

Grande dica! Já estou usando. "No System Facebook - Viva o Linux"!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts