web-dev-qa-db-ja.com

特定のドメインのWebトラフィック(SOCKSプロキシ)をリダイレクトする

理由により、YouTubeが職場でブロックされています。

私は科学者です。私が見たい会議や講演のほとんどはYouTubeで利用できるため、私は必要 YouTubeです。はい、私は実際に科学のためにYouTubeが必要です。

私はここで私の学校のネットワーク管理者と話をしましたが、彼は対処するのが少し難しく、理由を理解していません。彼は、インターネットが何らかの形で固定されたチャネルとポートを経由し、YouTubeへのアクセスなどを実際にブロックすることが可能であると考えているような人です。

とにかく、幸いなことに、私はどこかに専用サーバーを持っているので、次のようにそこにsshプロキシできます。

ssh -D 5000-CN自分自身@myserver

次に、Firefoxを構成します(はい、Firefox、Chromeは怠惰で、OS Xの設定に依存しているため[はい、私はOS Xを使用しています]))、そのポートにSOCKS5プロキシを使用します。私が欲しいすべてのインターネットをたくさん持っています。

ここのインターネットはかなりクールなので、目立った遅延や帯域幅の問題はありません。

専用サーバーが帯域幅の料金を請求し、いくつかの大きなファイルをダウンロードするためにすべてをオフにする必要があります(科学のために必要です)。ですから、YouTubeビデオを見るたびにこの機能をオンまたはオフにしたくないので、Firefox(またはコンピューター)に、SOCKS5プロキシを介してyoutube.comをルーティングするように指示したいと思います。逆の方法でも簡単に実行できるようです(つまり、これらのドメイン以外の場合はすべてのトラフィックをプロキシ経由で送信します)が、設計者が反対のケースをどのように考えていなかったかはわかりません。

誰かがこれを達成する簡単な方法を知っていますか?

10
almosnow

Firefox用のProxy AutoConfiguration(PAC)ファイルを作成し、「自動プロキシ構成URL」で構成できます(PACファイルをどこかにオンラインで配置します)。 HTTPサーバー、またはfile:///path/to/file.pacスタイルのURLを使用)。

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/

12
Ale

Firefoxについてはわかりませんが、Chromeでは、拡張プロキシSwitchySharp( https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm 、そのサイトの3番目の画面を見てください)、ここでルールを作成できます。

これにより、ドメインyoutube.comが構成済みのプロキシを使用し、他のすべてのサイトがプロキシを使用しないというルールを作成できます。

3
thomasgustavo

特定のドメインに対してのみプロキシを通過する場合は、拡張機能がパターンを介して選択を行うことができます。例えば ​​*youtube*そして彼らが使用する他のドメインは何でも。 FoxyProxyはそれを行います https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/

1
manos