Перенаправить веб-трафик (прокси SOCKS) для определенного домена

10

У меня YouTube заблокирован на моей работе по причинам.

Я ученый, и мне нужен YouTube, потому что большинство конференций и выступлений, которые я хотел бы увидеть, доступны там. Да, мне действительно нужен YouTube, для науки.

Я говорил с сетевым администратором в моей школе здесь, но с ним трудно иметь дело и он не понимает никаких рассуждений. Он из тех парней, которые думают, что Интернет каким-то образом проходит через фиксированные каналы и порты и что на самом деле можно блокировать такие вещи, как доступ к YouTube.

В любом случае, к счастью, у меня где-то есть выделенный сервер, поэтому я могу использовать ssh-proxy вот так:

ssh -D 5000 -CN себя @ myserver

А затем настройте Firefox (да, Firefox, потому что Chrome ленив и просто полагается на настройки OS X [да, я на OS X]), чтобы использовать прокси SOCKS5 для этого порта и в значительной степени иметь весь Интернет, который я хочу.

Так как Интернет здесь довольно крутой, у меня нет заметных задержек или проблем с пропускной способностью.

Дело в том, что мой выделенный сервер взимает плату за пропускную способность, и я должен отключить все, чтобы загрузить большие файлы (которые мне тоже нужны, потому что наука). Итак, поскольку я не хочу включать и выключать эту штуку каждый раз, когда хочу посмотреть видео на YouTube, я бы хотел как-то сказать Firefox (или моему компьютеру) просто направить youtube.com через прокси SOCKS5. Я вижу, что это легко сделать наоборот (т.е. отправлять весь трафик через прокси, если они НЕ для этих доменов), но я не знаю, как дизайнеры не думали об обратном случае.

Кто-нибудь знает простой способ добиться этого?

almosnow
источник

Ответы:

12

Вы можете создать файл автоматической настройки прокси-сервера (PAC) для Firefox и настроить его в разделе «URL-адрес автоматической настройки прокси» (либо перевести файл PAC в оперативный режим где-нибудь на HTTP-сервере, либо с помощью file:///path/to/file.pacURL-адреса в стиле).

Сам файл PAC представляет собой текстовый файл (JavaScript), определяющий функцию, которая определяет, какой прокси использовать:

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

Это простой пример, который должен соответствовать вашим потребностям, но с помощью PAC можно определить очень сложные схемы прокси (например, принимая во внимание время суток, наличие нескольких прокси, в зависимости от локального IP-адреса и т. Д.). Вы можете легко найти больше информации о файлах PAC в Интернете, например, http://findproxyforurl.com/pac-functions/ .

эль
источник
sweeeeeeeeeeet!
almosnow
3

Я не знаю о Firefox, но в Chrome я использую расширение Proxy SwitchySharp ( https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm , посмотрите на третий экран на этом сайте), где я могу создавать правила.

При этом вы можете создать правило, в котором домен youtube.com использует настроенный прокси, а все остальные сайты не используют прокси.

thomasgustavo
источник
1

Если вы хотите использовать прокси только для определенных доменов, расширение может сделать выбор через шаблон. Например, *youtube*и что бы то ни было еще, домены, которые они используют. FoxyProxy делает это https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/

Манос
источник
«Я должен выключить все» - что вы имеете в виду? Я удалил это. Это комментарий, который следует опубликовать как комментарий к вопросу. Не как часть ответа.
JakeGould