Como restringir o acesso a determinados domínios durante as horas de trabalho automaticamente

0

Eu sei sobre o aplicativo SelfControl, mas ele precisa ser iniciado toda hora e as horas de bloco a serem definidas.

Eu quero, por exemplo, proibir o carregamento de determinados sites durante o horário de trabalho, mas torná-lo possível durante o resto. Eu quero definir uma vez e esquecer. Tem que fazer o interruptor automaticamente todos os dias.

Qual seria a maneira mais fácil de fazer isso, considerando que sou super novato?

    
por user240891 28.01.2014 / 12:19

2 respostas

0

Eu recomendo que você veja algo como Dansguardian:

link

A documentação é muito boa e há alguns recursos em restrições de navegação baseadas em tempo.

    
por Mordoc 28.01.2014 / 12:41
0

Usaremos uma combinação de Iptables, Bash Scripting e Cron para conseguir isso.

Iptables

O comando Iptables para bloquear um domínio é assim:

iptables -I INPUT -p tcp --dport 80 -m string --string "Host: yourdomain.com" --algo bm -j DROP

Da mesma forma, o comando unblock se parece com:

iptables -I INPUT -p tcp --dport 80 -m string --string "Host: yourdomain.com" --algo bm -j ACCEPT

Scripts Bash

Crie um arquivo, digamos, block.sh , no qual você define as regras do Iptables para bloquear as conexões de saída dos domínios que você deseja bloquear e um script reverso para desbloqueá-los.

#! /usr/bin/env bash
iptables -I INPUT -p tcp --dport 80 -m string --string "Host: yourdomain.com" --algo bm -j DROP
# other stuff you want to do when you block a domain
# add blocking commands for each domain here

Execute chmod +x block.sh para tornar o script executável. Agora você pode executá-lo como /path/to/file/block.sh .

Assim, você terá dois scripts como:

  1. /path/to/block.sh
  2. /path/to/unblock.sh

Cron

Agora, adicione uma entrada crontab para executar seus scripts da seguinte forma:

Execute crontab-e . Na primeira execução, ele pedirá que você configure um editor de texto. Use nano, se você não tiver certeza.

Adicione estas linhas ao final do arquivo:

0 9 * * * /path/to/block.sh
0 17 * * * /path/to/unblock.sh

Salve o arquivo com CTRL+O , pressione ENTER e, em seguida, CTRL+X para sair.

Agora, às 9h todos os dias, o primeiro script bloqueia todos os domínios e, às 17h, o segundo script os desbloqueia.

    
por Rohitt Vashishtha 24.10.2016 / 18:02