Redirecionar tráfego da Web (proxy SOCKS) para um domínio específico


10

Tenho o YouTube bloqueado no meu trabalho por motivos.

Sou cientista e preciso do YouTube, porque a maioria das conferências e palestras que eu gostaria de ver estão disponíveis lá. Sim, eu realmente preciso do YouTube, para a ciência.

Falei com o administrador de rede da minha escola aqui, mas ele é meio difícil de lidar e não entende nenhum raciocínio. Ele é o tipo de cara que pensa que a Internet, de alguma forma, passa por canais e portas fixas e que é realmente possível bloquear coisas como o acesso ao YouTube.

De qualquer forma, felizmente eu tenho um servidor dedicado em algum lugar para poder usar o ssh-proxy como este:

ssh -D 5000 -CN eu mesmo @ myserver

E então configure o Firefox (sim, Firefox, porque o Chrome é preguiçoso e depende apenas das configurações do OS X [sim, eu estou no OS X]) para usar um proxy SOCKS5 para essa porta e praticamente ter toda a Internet que eu quero.

Como a Internet aqui é muito legal, não tenho problemas visíveis de latência ou largura de banda.

O problema é que meu servidor dedicado me cobra pela largura de banda e eu tenho que desativar tudo para fazer o download de alguns arquivos grandes (que eu também preciso, porque a ciência). Portanto, como não quero ativar e desativar esse recurso toda vez que quiser ver um vídeo do youtube, gostaria de dizer de alguma forma ao Firefox (ou meu computador) que apenas direcione o youtube.com pelo proxy SOCKS5. Vejo que isso pode ser feito facilmente ao contrário (por exemplo, envie todo o tráfego pelo proxy, se NÃO forem para esses domínios), mas não sei como os designers não pensaram no caso oposto.

Alguém sabe de uma maneira simples de conseguir isso?

Respostas:


12

Você pode criar um arquivo PAC ( Proxy AutoConfiguration ) para Firefox e configurá-lo em "URL de configuração automática de proxy" (colocando o arquivo PAC on-line em algum lugar de um servidor HTTP ou usando um file:///path/to/file.pacURL de estilo).

O arquivo PAC em si é um arquivo de texto (JavaScript) que define uma função que determina qual proxy usar:

function FindProxyForURL(url, host)
{
  if (shExpMatch(url, "*.youtube.com/*")) {
    return "SOCKS localhost:5000";
  } else {
    return "DIRECT";
  }
}

Este é um exemplo simples que deve atender às suas necessidades, mas com o PAC é possível definir esquemas de proxy muito complexos (por exemplo, tendo em conta o horário do dia, tendo vários proxies, dependendo do endereço IP local, etc.). Você pode encontrar facilmente mais informações sobre arquivos PAC na Internet, por exemplo, http://findproxyforurl.com/pac-functions/ .


sweeeeeeeeeeet!
almosnow


1

Se você deseja passar por um proxy apenas para determinados domínios, uma extensão pode fazer a escolha através de um padrão. Por exemplo, *youtube*e o que mais os domínios que eles usam são. FoxyProxy faz isso https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/


"Tenho que desligar tudo", o que você quer dizer? Eu removi isso. Esse é um comentário que deve ser postado como um comentário sobre a pergunta. Não como parte de uma resposta.
JakeGould
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.