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

9

Eu tenho o YouTube bloqueado no meu trabalho por motivos.

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

Falei com o administrador da 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 acha que a Internet de alguma forma passa por canais e portas fixas e que é realmente possível bloquear coisas como o acesso ao YouTube.

Enfim, felizmente eu tenho um servidor dedicado em algum lugar para que eu possa ssh-proxy lá assim:

ssh -D 5000 -CN myself@myserver

E configure o Firefox (sim, Firefox, porque o Chrome é preguiçoso e depende apenas das configurações do OS X [sim, estou no OS X]) para usar um proxy SOCKS5 nessa porta e praticamente tenho toda a Internet I quer.

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

A coisa é que o meu servidor dedicado me cobra pela largura de banda e eu tenho que desligar tudo para baixar alguns arquivos grandes (que eu também preciso, porque ciência). Então, como eu não quero ligar e desligar essa coisa toda vez que quiser ver um vídeo do youtube, gostaria de dizer ao Firefox (ou meu computador) que apenas direcione o youtube.com pelo proxy SOCKS5. Vejo que pode ser feito facilmente ao contrário (ou seja, enviar todo o tráfego através do proxy, se eles não são para esses domínios), mas eu não sei como os designers não pensaram no caso oposto.

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

    
por almosnow 19.12.2014 / 17:55

3 respostas

10

Você pode criar um arquivo Configuração Automática de Proxy (PAC) para o Firefox e configurá-lo em "URL de Configuração Automática de Proxy" (colocando o arquivo PAC em algum lugar em um servidor HTTP ou usando um % de URL no estilofile:///path/to/file.pac).

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, considerando a hora 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, link .

    
por 19.12.2014 / 18:38
3

Eu não sei sobre o Firefox, mas no Chrome eu uso a extensão Proxy SwitchySharp ( link , dê uma olhada na terceira tela do site, onde eu posso criar regras.

Com isso, você pode criar uma regra em que o domínio youtube.com use o proxy configurado e todos os outros sites não usem nenhum proxy.

    
por 19.12.2014 / 18:04
1

Se você deseja passar por um proxy apenas para determinados domínios, uma extensão pode fazer a escolha por meio de um padrão. Por exemplo, *youtube* e qualquer outra coisa que os domínios que eles usam são. O FoxyProxy faz o link

    
por 19.12.2014 / 18:22