Redirigir el tráfico web (proxy SOCKS) para un dominio específico

10

Tengo YouTube bloqueado en mi trabajo por razones.

Soy científico y necesito YouTube porque la mayoría de las conferencias y charlas que me gustaría ver están disponibles allí. Sí, realmente necesito YouTube, para la ciencia.

Hablé con el administrador de red de mi escuela aquí, pero es un poco difícil de tratar y no entiende ningún razonamiento. Es el tipo de persona que piensa que Internet de alguna manera atraviesa canales y puertos fijos y que en realidad es posible bloquear cosas como el acceso a YouTube.

De todos modos, afortunadamente tengo un servidor dedicado en algún lugar, así que puedo usar ssh-proxy de esta manera:

ssh -D 5000 -CN mismo @ myserver

Y luego configure Firefox (sí, Firefox, porque Chrome es perezoso y solo depende de la configuración de OS X [sí, estoy en OS X]) para usar un proxy SOCKS5 en ese puerto y tener casi todo el Internet que quiero.

Dado que Internet aquí es bastante bueno, no tengo ningún problema notable de latencia o ancho de banda.

La cosa es que mi servidor dedicado me cobra por el ancho de banda y tengo que apagar todo para descargar algunos archivos grandes (que también necesito, porque la ciencia). Entonces, dado que no quiero encender y apagar esto cada vez que quiero ver un video de youtube, me gustaría decirle de alguna manera a Firefox (o mi computadora) que solo enrute youtube.com a través del proxy SOCKS5. Veo que se puede hacer fácilmente al revés (es decir, enviar todo el tráfico a través del proxy si NO son para estos dominios), pero no sé cómo los diseñadores no pensaron en el caso contrario.

¿Alguien sabe de una manera simple de lograr esto?

casi ahora
fuente

Respuestas:

12

Puede crear un archivo Proxy AutoConfiguration (PAC) para Firefox y configurarlo en "URL de configuración automática de proxy" (ya sea poniendo el archivo PAC en línea en algún lugar en un servidor HTTP, o utilizando una file:///path/to/file.pacURL de estilo).

El archivo PAC en sí es un archivo de texto (JavaScript) que define una función que determina qué proxy usar:

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

Este es un ejemplo simple que debería adaptarse a sus necesidades, pero con PAC es posible definir esquemas de proxy muy complejos (por ejemplo, teniendo en cuenta la hora del día, tener varios servidores proxy, dependiendo de la dirección IP local, etc.). Puede encontrar más información sobre archivos PAC en Internet, por ejemplo, http://findproxyforurl.com/pac-functions/ .

Cerveza inglesa
fuente
sweeeeeeeeeeet!
almosnow
1

Si desea pasar por un proxy solo para ciertos dominios, una extensión puede elegir mediante un patrón. Por ejemplo *youtube*y cualquier otra cosa, los dominios que usan son. FoxyProxy lo hace https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/

manos
fuente
"Tengo que apagar todo", ¿qué quieres decir? Quité eso. Ese es un comentario que debe publicarse como un comentario sobre la pregunta. No como parte de una respuesta.
JakeGould