Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 5.845 ]
#!/bin/bash  -x
## bloqueia_face - Cria/deleta regras de bloqueio para conexões estabelecidas com o facebook
## Escrito por: Benedito Marques
## CentOS release 6.2 (Final)
# Exemplo de uso: ./bloqueia_face ativabloqueio
URL="www.facebook.com fbstatic-a.akamaihd.net facebook.com xx-fbcdn-shv-05-iad1.fbcdn fbcdn-profile-a.akamaihd.net"
for I in `/bin/echo $URL`
do
#GUARDA OS IPS DO FACEBOOK
    FAC=`/usr/bin/dig +short $I | /bin/grep [0-9].[0-9].[0-9].[0-9]`
    FACEBOOK="$FACEBOOK $FAC"
done
#GUARDA AS PORTAS DOS SOCKETS DE ORIGEM QUE ESTÃO CONECTADAS AO FACEBOOK
SPORTS=$(for i in `/bin/echo $FACEBOOK` ; do /bin/netstat -nt | /bin/grep "`/bin/echo $i`"| /bin/awk -F ' ' '{print $4}' | /bin/cut -d ':' -f5 ; done)
if [ "$1" = "ativabloqueio" ]; then
    #VERIFICA SE A VARIÁVEL $SPORTS É VAZIA
    if [ -z "$SPORTS" ]; then
        /bin/echo "Sem conexões com o Facebook. A ativação do bloqueio não é necessária."
    else
        for i in `/bin/echo $SPORTS`
        do
            for j in `/bin/echo $FACEBOOK`
            do
                IP=`/bin/netstat -nt | /bin/grep $i | /bin/awk -F ' ' '{print $5}' | /bin/cut -d ':' -f4`
                /sbin/iptables -I OUTPUT -d $IP -p tcp --sport $i -m multiport --dports 443,80 -j DROP
                break
            done
        done
    fi
elif [ "$1" = "desativabloqueio" ]; then
    #COLETANDO REGRAS CRIADAS ANTES
    /sbin/iptables-save  | /bin/grep OUTPUT | /bin/grep DROP | /bin/grep tcp | /bin/grep 443 | /bin/grep 80 | /bin/sed 's/-A/\/sbin\/iptables -t filter -D/g' > /tmp/regras
    #REMOVENDO REGRAS COLETADAS
    . /tmp/regras
else
   /bin/echo -e "Argumento incorreto! \nOpções possíveis: ativabloqueio, desativabloqueio."
fi
Fedora 10: Corrigindo problema do mouse invisível
Manipulando o MS Access (.mdb) com PHP no FreeBSD
openSUSE 11.4: Fontes mal-desenhadas (feias) no Firefox? Veja como resolver
Fazendo a inicialização do seu Fedora Core 2 mais rápida
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?
Instalação dualboot Windows 11 e Debian 13 (6)
Mint Xfce não mantém a conexão no wi-fi (0)
Programa fora de escala na tela do pc (36)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









