Leiten Sie den Webverkehr (SOCKS-Proxy) für eine bestimmte Domain um

10

Ich habe YouTube bei meiner Arbeit aus Gründen blockiert.

Ich bin Wissenschaftler und brauche YouTube, weil die meisten Konferenzen und Vorträge, die ich gerne sehen würde, dort verfügbar sind. Ja, ich brauche eigentlich YouTube für die Wissenschaft.

Ich habe hier mit dem Netzwerkadministrator meiner Schule gesprochen, aber er ist schwer zu handhaben und versteht keine Argumentation. Er ist der Typ, der denkt, dass das Internet irgendwie über feste Kanäle und Ports läuft und dass es tatsächlich möglich ist, Dinge wie den Zugang zu YouTube zu blockieren.

Wie auch immer, zum Glück habe ich irgendwo einen dedizierten Server, damit ich dort wie folgt ssh-proxy kann:

ssh -D 5000 -CN ich @ myserver

Und dann konfigurieren Sie Firefox (ja, Firefox, da Chrome faul ist und sich nur auf OS X-Einstellungen stützt [ja, ich bin auf OS X]), um einen SOCKS5-Proxy für diesen Port zu verwenden und so ziemlich das gesamte Internet zu haben, das ich möchte.

Da das Internet hier ziemlich cool ist, habe ich keine merklichen Latenz- oder Bandbreitenprobleme.

Mein dedizierter Server berechnet mir die Bandbreite und ich muss alles ausschalten, um einige große Dateien herunterzuladen (die ich auch brauche, weil die Wissenschaft). Da ich dieses Ding nicht jedes Mal ein- und ausschalten möchte, wenn ich ein Youtube-Video sehen möchte, möchte ich Firefox (oder meinem Computer) irgendwie anweisen, youtube.com einfach über den SOCKS5-Proxy weiterzuleiten. Ich sehe, dass es leicht umgekehrt gemacht werden kann (dh den gesamten Datenverkehr über den Proxy senden, wenn sie NICHT für diese Domänen bestimmt sind), aber ich weiß nicht, wie die Designer nicht an den umgekehrten Fall gedacht haben.

Kennt jemand einen einfachen Weg, um dies zu erreichen?

Almosnow
quelle

Antworten:

12

Sie können eine PAC-Datei ( Proxy AutoConfiguration ) für Firefox erstellen und unter "URL für die automatische Proxy-Konfiguration" konfigurieren (entweder indem Sie die PAC-Datei irgendwo auf einem HTTP-Server online stellen oder eine file:///path/to/file.pacURL im Stil verwenden).

Die PAC-Datei selbst ist eine Textdatei (JavaScript), die eine Funktion definiert, die bestimmt, welcher Proxy verwendet werden soll:

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

Dies ist ein einfaches Beispiel, das Ihren Anforderungen entsprechen sollte. Mit PAC können jedoch sehr komplexe Proxy-Schemata definiert werden (z. B. Berücksichtigung der Tageszeit, mehrere Proxys, abhängig von der lokalen IP-Adresse usw.). Weitere Informationen zu PAC-Dateien finden Sie im Internet, z . B. http://findproxyforurl.com/pac-functions/ .

Ale
quelle
sweeeeeeeeeeet!
Almosnow
3

Ich weiß nichts über Firefox, aber in Chrome verwende ich die Erweiterung Proxy SwitchySharp ( https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm , sehen Sie sich den dritten Bildschirm auf dieser Website an). wo ich Regeln erstellen kann.

Mit dieser Option können Sie eine Regel erstellen, bei der die Domain youtube.com den konfigurierten Proxy verwendet und alle anderen Websites keinen Proxy verwenden.

thomasgustavo
quelle
1

Wenn Sie einen Proxy nur für bestimmte Domänen verwenden möchten, kann eine Erweiterung die Auswahl anhand eines Musters treffen. Zum Beispiel *youtube*und was auch immer die Domänen sind, die sie verwenden. FoxyProxy macht es https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/

Manos
quelle
"Ich muss alles ausschalten" - was meinst du? Ich habe das entfernt. Das ist ein Kommentar, der als Kommentar zu der Frage gepostet werden sollte. Nicht als Teil einer Antwort.
JakeGould