初めてやったのでメモ
最終的にやりたいこと
-
firefox <--> pc <--> proxy <--> tor <--> proxy <--> web的な感じ- 多段プロキシ,多段串
-
torの前後で踏み台したい- 出口ノードが諸々のサービスに弾かれすぎですことよ!
- 入口ノード前のproxyは
tor提供のbridgeか
- なるべくCLIで完結する
-
tor browser単体では不自由だった
-
- VPNは使わない
- ISP側やサービス側からの検知の対策のために本来なら優秀なVPNを使うべき
- VPN over (Tor over VPN)ほどの硬さは要らないしクソ重いとは聞く
- というかVPNがよくわからん,まぁ別に悪いことしないしヘビーユーザになる気もないし…
-
VB上のLinuxで完結させる-
VBはまったくわからないが頑張りたいなぁ
-
- 完全な興味本位
今回やったこと
Big Surでやってる,VB + Linuxはやってない,本当はその方がいいに決まっているのに…
CLIでちょっとしたプロセスの通信をproxychainsを使ってtor -> proxyの順番で通す
Tor側
導入
brew install tor
# => /usr/local/Cellar/tor/0.4.5.6
# => As alias, /usr/local/bin/tor
# => As config file example, /usr/local/etc/tor/torrc.sample
設定
torrec.sampleを複製してtorrecを同じ場所に置く,それがconfigとして読み込まれる
デフォルトに手を加える必要は特になし,下手にいじると自分が中継点として使われることになるらしい
localhost:9050で公開されるのでブラウザのプロキシをそこに合わせるとtorでブラウジングできる
もしbridgeを使いたい場合はobfs4proxyライブラリを別途で入手した上で再度torrecを弄る必要がある,tor browserとは異なりtorにはデフォルトでは入っていない
(そしてobfs4proxyはhomebrew未登録なので面倒になった)
proxychains側
導入
brew install proxychains-ng
# => /usr/local/Cellar/proxychains-ng/4.14
# => As alias, /usr/local/bin/proxychains4
# => As config file, /usr/local/etc/proxychains.conf
設定
デフォルトでproxychains.confがあるのでちょっと編集する
vim /usr/local/etc/proxychains.conf
最後の方の[proxy list]を
socks5 127:0:0:1 9050socks5 <出口ノード先の串IP> <出口ノード先の串ポート>
にする
プロトコル的にはhttpでもhttpsでもsocks4でもなくsocks5対応の串の方が良さそう
ここの無料プロキシリストで割とヒットできたのでおすすめ
その他
curlやtracerouteなどはhomebrew等から別途に落としたものを使う
macOSのデフォルトのコマンドだとなぜかproxychainsの恩恵を受けられない
homebrewはtcptracerouteになってたし,curlは/usr/local/bin/curlのエイリアスができなかった
エイリアスを作って/usr/local/bin/にはっつけてPATHの優先順位を変えてみたりbashのプロファイルに直でエイリアスを作ってみたりしたけど,なぜか呼び出しを上書きできなかった…
動作
試しにipを掘ってみる
$ brew services start tor
# homebrewでinstallしたものはこれで管理できるらしい
$ proxychains4 /usr/local/Cellar/curl/7.75.0/bin/curl inet-ip.info
# curlは /usr/local/Cellar/curl/7.75.0/bin/curl みたいな場所にあるはず
# 成功したら串のipが表示される
$ proxychains4 tcptraceroute google.com
# こんな事は出来なかった
これができただけだった…
今後かんがえたいこと
-
VBってどうやって使うのだ?- これ,メモリとか通信とかどうすればいいのだ…
-
proxychainsは後のタスクを抱え込んでるだけでは?- つまり
tor + proxychainへの入口として働く汎用なlocalhostは立てられないか? -
macOSでproxychains4 open -a FireFoxしてもproxychainsが効かないが,linuxでproxychains4 firefoxするとどうも効くっぽい(動画参考),しかしVB上となるとこれができるかどうか想像がつかん,やってみなければわからない
- つまり
-
これは本当に正しく効率的に
proxychains over Torを実現しているのか?-
torを落としてcurlするとエラーを吐くしレイテンシ的にもそれっぽい… - そういえば
ping系コマンドはicmpの民なのでproxychainsというかプロキシ自体に従わないそう,もしレイテンシをプロキシ込みで測りたいなら,webベースでスクリプトを提供しているものを使うことがおすすめ…
-