現在、TORでいくつかのテスト作業を行っていますが、小さな問題に遭遇しました。TorのクライアントはSOCKS5プロトコルを介した接続の受信のみをサポートしていますが、使用しているアプリケーションはHTTPプロキシプロトコルのみをサポートしています。
途中に何かを置くことは可能ですか?それで、例えばそれは行きました。
マイプログラム(HTTPのみ)> HTTP to SOCKS Converter> Tor SOCKS5 Server
現在、TORでいくつかのテスト作業を行っていますが、小さな問題に遭遇しました。TorのクライアントはSOCKS5プロトコルを介した接続の受信のみをサポートしていますが、使用しているアプリケーションはHTTPプロキシプロトコルのみをサポートしています。
途中に何かを置くことは可能ですか?それで、例えばそれは行きました。
マイプログラム(HTTPのみ)> HTTP to SOCKS Converter> Tor SOCKS5 Server
回答:
次のようなもので、DeleGateがこれを実行できるようです(DeleGateはポート8080でHTTP接続を受け入れ、ポート9050でSOCKSサーバーに転送します)。
delegated -P8080 SERVER=http SOCKS=localhost:9050
delegate(d)
、構成ドキュメントの複数の反対の主張にもかかわらず、私は、DNSリクエストをリークすることは絶対に決定されていると結論付けました。私はそれについて間違っていることを発見したいのですが、その点については悲観的です。
Torバンドルにはもはやpolipoがありません、公式tor FAQからです:
過去には、TorバンドルにはPrivoxyやPolipoなどのHTTPプロキシが含まれていましたが、Firefox 6で最終的に修正されたFirefoxのバグを回避するためだけに使用されます。 TorbuttonはFirefoxのWebサイトとのやり取りをよりよく制御できるため、outを使用するとより安全になります。
Torで外部アプリケーションを使用しようとしている場合、ステップ0は、あなたが台無しにできる方法についての警告のセットを読み直すことです。ステップ1は、httpプロキシではなくSocksプロキシを使用することです。Torは、Windowsのポート9050でSocksプロキシを実行するか 、OSXおよびLinux については上記を参照してください。
それが失敗した場合は、気軽にprivoxyをインストールしてください。ただし、この方法は初心者ユーザーにはお勧めできません。PrivoxyにはTorとPrivoxyの設定例があります。
Privoxyも使用できます。config.txt
ファイルに次の行を追加します。
forward-socks5 / 127.0.0.1:9050 .
(最後にある小さなドットを忘れないでください。)
次に、HTTPまたはHTTPSプロキシを使用します 127.0.0.1:8118
オペレーティングシステムを指定しませんでした。将来的にそうしてください。
この回答では、Polipoを推奨しています。Polipoは、TorプロジェクトがホストするVidaliaバンドルに含まれているため、おそらくWindows向けに推奨されます。Polipoには* nixバージョンもあり(元々は* nix向けに設計されていました)、その設定方法についての説明が含まれています-以下の2番目のセクションを参照してください。重要な場合は、かなり軽量なソリューションです。
Vidaliaバンドルをダウンロードします。Vidalia GUIとPolipoというプログラムがTorとともに含まれています。バンドルでは、Polipoはデフォルトでポート8118でHTTPプロキシを実行し、ポート9050でTor SOCKSプロキシを介してリダイレクトします。
Vidaliaバンドルなしで、Polipoを手動で構成することもできます。
http://www.pps.jussieu.fr/~jch/software/polipo/tor.htmlから取得
また、ダウンロードする必要があるバイナリも提供します。
Polipoは、プレーンテキストファイルであるPolipoの構成ファイルにいくつかの構成変数を設定することで構成されます。Polipoにtorを使用し、取得したページをディスクにキャッシュしないように指示するには、設定ファイルに次の行を追加します。
socksParentProxy = localhost:9050 diskCacheRoot=""
ブラウザの脆弱性から身を守るために、ローカル設定インターフェースを無効にすることもできます。
disableLocalInterface=true
Polipoを実行する場合、Polipoのコマンドラインで-cフラグを使用して、構成ファイルの場所を指定する必要があります。
> polipo.exe -c "/Program Files/Polipo/config.txt"
Windowsでもファイル名にUnix構文(スラッシュを使用)を使用する必要があり、使用するデバイス(「ドライブ」)を指定できないことに注意してください。
Vidaliaバンドルのデフォルト設定は、この回答の下部に含まれています。
Linux、Unix、BSD、OS X、NT(Windows)に基づかない最新(2012)の主要オペレーティングシステムのほとんどが含まれます。
もう一度、http://www.pps.jussieu.fr/~jch/software/polipo/tor.htmlから取得
使用するリポジトリからパッケージをダウンロードします。ここでGoogleがお手伝いします。または、直接バイナリをダウンロードできます。
Polipoは、Polipoの構成ファイルにいくつかの構成変数を設定することで構成されます。構成ファイルは、
~/.polipo
またはの/etc/polipo/config
いずれか存在します。Polipoにtorを使用し、取得したページをディスクにキャッシュしないように指示するには、設定ファイルに次の行を追加します。socksParentProxy = localhost:9050 diskCacheRoot=""
ブラウザの脆弱性から身を守るために、ローカル設定インターフェースを無効にすることもできます。
disableLocalInterface=true
構成ファイルに別の場所を指定する場合は、Polipoのコマンドラインで-cフラグを使用して指定できます。
Polipoをディストリビューション提供のバイナリからインストールした場合、おそらく〜/ .polipoは考慮されないことに注意してください-/ etc / polipo / configを編集する必要があります。
配布提供パッケージからPolipoをインストールした場合、おそらくPolipoはすでに実行されています。新しい設定を考慮に入れるため、再起動する必要があります。それ以外の場合は、無料のターミナルウィンドウを取得して、次のように入力します。
$ polipo
Polipoの構成ファイルに非標準の場所を使用している場合は、コマンドラインで次のように指定します。
$ polipo -c "/Program Files/Polipo/config.txt"
Vidaliaバンドルのデフォルト設定は、この回答の下部に含まれています。
これは、Windows用のVidaliaバンドルからの私のデフォルトのPolipo構成です。それの外観から、それは* nixでも動作するはずです-私が知る限り、プラットフォーム固有のものは何もありません。はい、IPv4構成です。
### $Id$
#
### Basic configuration
### *******************
# Uncomment one of these if you want to allow remote clients to
# connect:
# proxyAddress = "::0" # both IPv4 and IPv6
# proxyAddress = "0.0.0.0" # IPv4 only
proxyAddress = "127.0.0.1"
proxyPort = 8118
# If you do that, you'll want to restrict the set of hosts allowed to
# connect:
# allowedClients = "127.0.0.1, 134.157.168.57"
# allowedClients = "127.0.0.1, 134.157.168.0/24"
allowedClients = 127.0.0.1
allowedPorts = 1-65535
# Uncomment this if you want your Polipo to identify itself by
# something else than the host name:
proxyName = "localhost"
# Uncomment this if there's only one user using this instance of Polipo:
cacheIsShared = false
# Uncomment this if you want to use a parent proxy:
# parentProxy = "squid.example.org:3128"
# Uncomment this if you want to use a parent SOCKS proxy:
socksParentProxy = "localhost:9050"
socksProxyType = socks5
### Memory
### ******
# Uncomment this if you want Polipo to use a ridiculously small amount
# of memory (a hundred C-64 worth or so):
# chunkHighMark = 819200
# objectHighMark = 128
# Uncomment this if you've got plenty of memory:
# chunkHighMark = 50331648
# objectHighMark = 16384
chunkHighMark = 33554432
### On-disk data
### ************
# Uncomment this if you want to disable the on-disk cache:
diskCacheRoot = ""
# Uncomment this if you want to put the on-disk cache in a
# non-standard location:
# diskCacheRoot = "~/.polipo-cache/"
# Uncomment this if you want to disable the local web server:
localDocumentRoot = ""
# Uncomment this if you want to enable the pages under /polipo/index?
# and /polipo/servers?. This is a serious privacy leak if your proxy
# is shared.
# disableIndexing = false
# disableServersList = false
disableLocalInterface = true
disableConfiguration = true
### Domain Name System
### ******************
# Uncomment this if you want to contact IPv4 hosts only (and make DNS
# queries somewhat faster):
#
# dnsQueryIPv6 = no
# Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
# double-stack hosts:
#
# dnsQueryIPv6 = reluctantly
# Uncomment this to disable Polipo's DNS resolver and use the system's
# default resolver instead. If you do that, Polipo will freeze during
# every DNS query:
dnsUseGethostbyname = yes
### HTTP
### ****
# Uncomment this if you want to enable detection of proxy loops.
# This will cause your hostname (or whatever you put into proxyName
# above) to be included in every request:
disableVia = true
# Uncomment this if you want to slightly reduce the amount of
# information that you leak about yourself:
# censoredHeaders = from, accept-language
# censorReferer = maybe
censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe
# Uncomment this if you're paranoid. This will break a lot of sites,
# though:
# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
# censorReferer = true
# Uncomment this if you want to use Poor Man's Multiplexing; increase
# the sizes if you're on a fast line. They should each amount to a few
# seconds' worth of transfer; if pmmSize is small, you'll want
# pmmFirstSize to be larger.
# Note that PMM is somewhat unreliable.
# pmmFirstSize = 16384
# pmmSize = 8192
# Uncomment this if your user-agent does something reasonable with
# Warning headers (most don't):
# relaxTransparency = maybe
# Uncomment this if you never want to revalidate instances for which
# data is available (this is not a good idea):
# relaxTransparency = yes
# Uncomment this if you have no network:
# proxyOffline = yes
# Uncomment this if you want to avoid revalidating instances with a
# Vary header (this is not a good idea):
# mindlesslyCacheVary = true
# Suggestions from Incognito configuration
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535
Fiddlerでは、http要求からsocks tunnelled要求への変換も許可されています。
これは、ソックス接続(Amazon EC2およびPutty経由)を介して実行するWindows Updateをプッシュするために行いました。
このページからhttps://groups.google.com/forum/#!topic/httpfiddler/6m2xEe0fRmw
Fiddlerには、「FiddlerScript」タブがあり、以下を追加できます。
使用
X-OverrideGateway
フラグを使用しsocks=
、上位サーバーに話すときのことを示すために、接頭辞を>フィドラーはSOCKS V4Aプロトコルを使用する必要があります。たとえば、TORインストーラーは、ポート9150でPolipoと呼ばれるSOCKSプロキシを使用して、TORネットワークへのエントリポイントを設定します。FiddlerScriptの
OnBeforeRequest
メソッド内に以下を追加して、TORネットワーク経由でtest.example.comにリクエストをルーティングできます。if (oSession.HostnameIs("test.example.com")) { oSession["x-OverrideGateway"] = "socks=127.0.0.1:9150"; }
代わりに、SOCKSを介してすべてのトラフィックを送信したい場合は、
X-OverrideGateway
セッションごとに無条件でフラグを設定するだけです。
WinGateもこれを行うことができます。WWWプロキシの[接続]タブを確認すると、アップストリームSOCKS4、SOCKS4a、またはHTTPプロキシを選択できます。
WinGateには、10人の同時ユーザー用の無料ライセンスもあります。
免責事項:私はWinGateの著者であるQbikで働いています