私はTorを初めて使用するので、複数のTorを検討する必要があると思います。ここで言及した複数のTorは、複数のインスタンスだけでなく、ここで行われたように、それぞれに異なるプロキシポートを使用しています http://www.howtoforge.com/ultimate-security-proxy-with-tor )
私は4 Torsから始めようとしています。ただし、チュートリアルはArch Linuxにのみ適用され、ヘッドレスEC2 ubuntu 64ビットを使用しています。 ArchとUbuntuの違いは本当に苦痛です。そして、ここに私が簡単に私のアイデアを実装するために誰かがいくつかの助けを提供することができるのだろうかと思います。
同時に動作する4つのTorがそれぞれ個別のポート、privoxyまたはpolipoなどで動作します。例:8118 <-Privoxy <-TOR <-9050 8129 <-Privoxy <-TOR <-9150 8230 <-Privoxy <-TOR <-9250 8321 <-Privoxy <-TOR <-9350
このようにして、127.0.0.1:8118、8129、8230、および8321のIPを返そうとすると、4つの異なるIPが返されるはずです。これは、4つの異なるTorが同時に実行されていることを示しています。次に、数分後、もう一度確認します。4つすべてに新しいIPが再度表示されるはずです。
私の単純な「夢」は多くの方法で実現できることは知っていますが、私はTorだけでなく、bashやpythonも初めてです...だから、私はここに来て、あなたの一部が点灯できるかどうかを確認します私。
これらのリンクは役に立つかもしれません:
http://blog.databigbang.com/distributed-scraping-with-multiple-tor-circuits/https://www.torservers.net/wiki/setup/server#multiple_tor_processes ベスト、
ところで、$ ps -A | grep 'tor'
いくつかのインスタンスがありますが、「?」 tty列の下では、ttyが端末を意味することがわかっているので、それはどういう意味ですか?
/etc/tor/torrc.1
から.4
までの4つのtorrcファイルを作成します。
各ファイルで、次の行を編集します。
SocksPort 9050
ControlPort 9051
DataDirectory /var/lib/tor
torrc
ファイルごとに異なるリソースを使用するには、たとえば、 torrc.1
の場合:
SocksPort 9060
ControlPort 9061
DataDirectory /var/lib/tor1
torrc.2
、
SocksPort 9062
ControlPort 9063
DataDirectory /var/lib/tor2
等々。
上記の行のみを含む構成ファイルが機能します。必要に応じて、デフォルトのテンプレートから1行おきに削除できます。
DataDirectory
は、tor
が起動されている現在のディレクトリを基準にすることもできます。例:
DataDirectory d1
次に、次のようにTorを開始します。
tor -f /etc/tor/torrc.1
tor -f /etc/tor/torrc.2
他の2つのファイルについても同様です。
これにより、4つのポートに4つの異なるSocks5サーバーが作成されます。それぞれが異なる回路を開きます。それがあなたが望むものです。
Torの連鎖は 推奨 です。より良い匿名性ではなく、より悪い匿名性を得るかもしれません。
これを行うと、未定義で潜在的に安全でない動作が発生します。ただし、理論的には3つのホップではなく6つのホップを取得できますが、3つの異なるホップを取得することは保証されていません。逆に、または混合した順序で同じホップになってしまう可能性があります。これが安全かどうかは不明です。それは議論されていません。
入口/出口ポイントを選択できますが、ルートの選択をTorに任せるとTorが提供できる最高のセキュリティが得られます。入口/出口ノードをオーバーライドすると、理解できない方法で匿名性が台無しになる可能性があります。したがって、TorをTorで使用することはお勧めしません。
Tor開発者より賢い場合は、Torのルーティングアルゴリズムをいじるだけです。
Privoxy/polipoの使用は、Tor Projectによってずっと前に廃止されました。あなたは 推奨Tor Browser のみを使用します。 Tor Browserだけが統一されたWebフィンガープリントを提供し、目立たなくなります。
Torバージョン0.2.3以降、異なるSocks、-Dns-、またはTransPortsは異なる回路を通過するため、IDの相関が妨げられます。この用語はストリームの分離です。これを取得してください、torrcに追加できます...
SocksPort 9050
SocksPort 9052
SocksPort 9053
SocksPort 9054
#...
...そしてそれらはすべて異なる回路を考えて行きます。
Tor Browserを使用している場合は、Tor Buttonの新しいID機能も使用できます。 Torボタン(ネギ)をクリックして、新しいIDを選択します。これにより、すべてのブラウザー状態がリセットされ、Torの回路が変更されます。
ストリーム分離を使用する場合、異なる回路を通過しても、異なるTor出口ノードを取得できるとは限りません。 Torは、別のエントリガードまたは中間リレーのみを使用する場合があります。 これは正常です。
https://github.com/anhldbk/privoxyTor/ でPrivoxy-Tor構成プロセスを自動化するためのスクリプトを書きました。これがお役に立てば幸いです!
Torrc.1、torrc.2などを試しましたが、うまくいきませんでした。
しかし、これはうまくいきました:
/etc/init.d/tor stop
gedit /etc/tor/torrc
(ルートでない場合は、Sudoをルートの前に置いて、ルートとしてアクセスします)SocksPort 9050
/etc/init.d/tor start
/etc/init.d/tor status
それはそのようなものを示すはずです:
tor.service - Anonymizing overlay network for TCP
Loaded: loaded (/lib/systemd/system/tor.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2016-05-13 22:18:21 GST; 1s ago
Process: 10259 ExecReload=/bin/kill -HUP ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 10319 ExecStartPre=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config (code=exited, status=0/SUCCESS)
Process: 10317 ExecStartPre=/usr/bin/install -Z -m 02750 -o debian-tor -g debian-tor -d /var/run/tor (code=exited, status=0/SUCCESS)
Main PID: 10322 (tor)
CGroup: /system.slice/tor.service
└─10322 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor v0.2.6.10 (git-71459b2fe953a1c0) running on Linux with Li... 1.2.8.
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor can't help you if you use it wrong! Learn how to be safe ...warning
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/etc/tor/torrc".
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9050
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9060
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9051
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9061
May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on /var/run/tor/control
May 13 22:18:21 momen-Lenovo systemd[1]: Started Anonymizing overlay network for TCP.
ヒント:一部の行は省略されました。-lを使用して全体を表示します。
Tor構成ディレクトリを作成します。
_$> mkdir -p ~/configuration_files/tor
_
_$> config=~/configuration_files/tor
_
_$> cd "${config}"
_
_/etc/tor/torrc
_を構成ディレクトリにコピーし、必要な数だけコピーを作成します。 10
_printf "torrc_%0.2s\n" {1..10} | xargs -I {} /bin/cp /etc/tor/torrc "${config}{}"
_
_/etc/torsocks.conf
_を構成ディレクトリにコピーし、必要なだけコピーを作成します。上記10と同じ
_printf "torsocks_%0.2s.conf\n" {1..10} | xargs -I {} /bin/cp /etc/torsocks.conf "${config}/{}"
_
新しいデータディレクトリを作成し、所有権/権限を修正します。
_$> Sudo mkdir /var/lib/tor{1..10}
_
構成ファイルを編集して、対応するポート番号が衝突しないようにします。
_for a in {1..10}; do
sed -i "s/^#SocksPort 9050.*/SocksPort $((9050+${i}))/;s|^#DataDirectory /var/lib/tor|DataDirectory /var/lib/tor${i}|" torrc_${i}
sed -i "s/server_port = 9050/server_port = $((9050+${i}))/" torsocks_${i}.conf
Sudo chmod -R --reference /var/lib/tor /var/lib/tor${i}
Sudo chown -R CHANGETHIS:CHANGETHIS /var/lib/tor${i}
done
_
注:CHANGETHISを、それを使用する予定のユーザーのユーザー/グループに変更します。
その後、簡単に始めることができます。対応する構成ファイルを使用して、torの個々のインスタンスを起動します。 _/usr/bin/tor -f "${config}/torrc_3"
_
これを使用するには、変数TORSOCKS_CONF_FILEをエクスポートして、対応する_torsocks.conf
_ファイルを指すようにします。
例えば。 _$> export TORSOCKS_CONF_FILE="${config}/torsocks_3.conf"
_
次に、その特定のシェルから任意のアプリケーションをtorocks/torsocksでき、torsocks_3.confプロキシを使用します。
試してください:_$> torify bash
_
_$> curl www.ipmango.com/api/myip
_
別のプロキシに変更するには、そのtorrcファイルを使用して対応するtorを起動し、TORSOCKS_CONF_FILE変数をエクスポートして新しい構成を指すようにします。
上記のように設定し、roxtermをインストールした後の、この作業を行う単純なエイリアスを次に示します。 netstat
をチェックして、プロキシがすでに起動しているかどうかを確認し、起動していない場合は別のシェルウィンドウで起動します。
alias prox='_(){ proxy=${1:-1}; config_base="~/configuration_files/tor"; port=$((9050+${proxy})); netstat -an | { ! grep -q "127.0.0.1:${port}"; } && roxterm -e bash -c "/usr/bin/tor -f \"${config_base}/torrc_${proxy}\"; bash"; export TORSOCKS_CONF_FILE="${config_base}/torsocks_${proxy}.conf"; }; _'
それを使用するには:
_$> prox 4
$> torify bash
_