Bloquear Facebook no Linux Educacional 3

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

[ Hits: 11.582 ]

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

Mais um backup

Atualizar Ubuntu

Script de alteração do sources.list

Iniciar nova instância do Firefox quando o mesmo não está respondendo

Backup com data no nome do arquivo


  

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