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?

quase
fonte

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/ .

Ale
fonte
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/

manos
fonte
"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