Bloqueio de sites por horário: Squid + IPtables
Publicado por Benedito em 13/02/2015
[ Hits: 5.685 ]
#!/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
Softwares KDE - Habilitando Ajuda no Slackware/Debian
Solucionando o "javac: command not found"
Autorização para usar o CUPS no Debian 7.1.0
Debian com aparência do Xubuntu
WingPanel Slim no elementary OS
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Músicas de Andrew Hulshult no DOOM (WAD)
Instalar o Apache, MySQL e PHP no Oracle Linux 8
Bloqueando telemetria no Deepin 23.1
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!