Przekieruj ruch internetowy (proxy SOCKS) dla określonej domeny

10

Z powodu mojej pracy YouTube został zablokowany.

Jestem naukowcem i potrzebuję YouTube, ponieważ większość konferencji i wykładów, które chciałbym zobaczyć, są tam dostępne. Tak, naprawdę potrzebuję YouTube do nauki.

Rozmawiałem tutaj z administratorem sieci w mojej szkole, ale jest trochę trudny do rozwiązania i nie rozumie żadnego uzasadnienia. Jest typem faceta, który myśli, że Internet w jakiś sposób przechodzi przez stałe kanały i porty i że w rzeczywistości można zablokować takie rzeczy, jak dostęp do YouTube.

W każdym razie, na szczęście mam gdzieś dedykowany serwer, więc mogę tam ssh-proxy tak:

ssh -D 5000 -CN siebie @ mój serwer

A następnie skonfiguruj Firefoksa (tak, Firefox, ponieważ Chrome jest leniwy i polega tylko na ustawieniach OS X [tak, jestem na OS X]), aby korzystał z proxy SOCKS5 do tego portu i prawie miał cały Internet, jaki chcę.

Ponieważ Internet tutaj jest całkiem fajny, nie mam żadnych zauważalnych opóźnień ani problemów z pasmem.

Chodzi o to, że mój serwer dedykowany nalicza opłaty za przepustowość i muszę wszystko wyłączyć, aby pobrać duże pliki (które również potrzebuję, ponieważ nauka). Ponieważ nie chcę włączać i wyłączać tej funkcji za każdym razem, gdy chcę zobaczyć film na youtube, chciałbym w jakiś sposób powiedzieć Firefoxowi (lub mojemu komputerowi), aby po prostu przekierował youtube.com przez proxy SOCKS5. Widzę, że można to łatwo zrobić na odwrót (tj. Wysłać cały ruch przez serwer proxy, jeśli NIE są one dla tych domen), ale nie wiem, jak projektanci nie pomyśleli o przeciwnym przypadku.

Czy ktoś zna prosty sposób na osiągnięcie tego?

Almosnow
źródło

Odpowiedzi:

12

Możesz utworzyć plik Autokonfiguracji serwera proxy (PAC) dla przeglądarki Firefox i skonfigurować go pod „Adres URL automatycznej konfiguracji serwera proxy” (umieszczając plik PAC w trybie online gdzieś na serwerze HTTP lub używając file:///path/to/file.pacadresu URL w stylu).

Sam plik PAC jest plikiem tekstowym (JavaScript) definiującym funkcję, która określa, którego serwera proxy użyć:

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

Jest to prosty przykład, który powinien odpowiadać Twoim potrzebom, ale dzięki PAC można zdefiniować bardzo złożone schematy proxy (np. Biorąc pod uwagę porę dnia, mając kilka serwerów proxy, w zależności od lokalnego adresu IP itp.). Możesz łatwo znaleźć więcej informacji o plikach PAC w Internecie, np . Http://findproxyforurl.com/pac-functions/ .

Ale
źródło
sweeeeeeeeeeet!
almosnow
1

Jeśli chcesz przejść przez serwer proxy tylko dla niektórych domen, rozszerzenie może dokonać wyboru poprzez wzorzec. Na przykład *youtube*i cokolwiek innego używają domeny. FoxyProxy robi to https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/

manos
źródło
„„ Muszę wyłączyć wszystko ”- co masz na myśli?” Usunąłem to. To komentarz, który powinien zostać opublikowany jako komentarz do pytania. Nie jako część odpowiedzi.
JakeGould