Uma das maneiras mais fáceis de usar o arquivo hosts é fácil de contornar se você souber o IP do site que você quer ir. Outra opção é o link .
O que eu quero: quando os usuários digitam um determinado URL, digamos, reddit.com ou cracked.com, eles são redirecionados automaticamente para outro site ... digamos khanacademy.org ou algo assim.
Eu sou voluntário em minha biblioteca local, montando alguns computadores e eles queriam "encorajar" as crianças a visitar certos sites em detrimento de outros. Deixando de lado a ética, fiquei me perguntando como devo proceder para implementar isso, além de uma proibição no arquivo hosts.txt.PS - Eu disse que eu era um monstro por banir o Reddit de crianças? Sim, sim, desculpe novamente ... apenas pense em mim impedindo as crianças de fazer quadrinhos de fúria mais inane, contas de novidade e tópicos de trocadilho para preencher o site. ಠ_ಠ
A maneira mais simples de pensar é colocar o nome do host em seu arquivo de hosts com o endereço IP do site para o qual você deseja redirecioná-lo.
Como @Arjan apontou em seu comentário, a solução de hosts não funciona para sites que estão por trás de um CDN ou em uma hospedagem compartilhada. Outra solução é usar uma extensão de navegador. Para o Chrome, você pode usar a webRequest
API:
background.js :
chrome.webRequest.onBeforeRequest.addListener(function (details) {
return { redirectUrl: 'https://bar.com'};
}, {urls: ['https://foo.com/']}, ['blocking']);
manifest.json
{
"name": "redirect",
"description": "Redirect foo to bar.",
"version": "1.0",
"permissions": ["webRequest", "webRequestBlocking", "https://foo.com/"],
"background": { "scripts": ["background.js"] },
"manifest_version": 2
}
Coloque esses dois arquivos em uma pasta e carregue a extensão indo até Chrome > Settings > Extensions > "Load unpacked extension"
e selecione o diretório onde estão os arquivos.