SOCKS経由でtor使えたら便利そうと思って簡単に調べた。
Macなら、
brew install tor tor& brew install torsocks torsocks curl curlmyip.com
みたいな感じで使えた(tsocksでも使えた)。
試しに torsocks.conf を書き換えてSOCKSv5を使うようにしてみると、15:31:07 libtorsocks(29879): Need a password in torsocks.conf or $TORSOCKS_PASSWORD to authenticate withcurl: (7) couldn't connect to host
とかいって怒られる。
パスワードとか知らないし簡単に検索してもRFC 1929 - Username/Password Authentication for SOCKS V5とかしか出てこなくて厳しい感じだった。
そこでダメ元でtorsocks.confの
#default_user = #default_pass =
みたいなとこにhoge/fugaみたいな適当な値を指定してみたところ、何故か動いた。何のためにあるフィールドなのか分かってないけどとにかく動いたからまあいいか、という雑な気持ちになった。
とはいえ単にIPアドレスが欲しいだけならSOCKSv4のままでも良さそうなので、匿名性を高める気持ちが無いなら忘れてもいいのかもしれない。
A public TorDNSEL service使うとtorのexit nodeが分かる??らしいので、Tor経由のアクセスを禁止することもその気になればできるっぽい????
Rubyのコード向けなら
SOCKSify Ruby
っていうのも見つけてて、Modifications to class TCPSocket:
とか言ってる。
この手のやり方なら自分で似たようなの書いて柔軟に制御できそうな感じもする。
とはいえem-http-requestみたいなのとかはRubyの外でHTTPリクエスト飛ばしてそうな雰囲気だったし、やっぱtorsocksみたいなやつ使うのが楽そうな気がする。