我在 Mac El Capitan 上使用 Ruby on Rails 4.2.7 并且刚刚安装了 Tor 浏览器(v 6.0.4)。我启动了我的 Tor 浏览器,通过查看几个网页验证了它的运行,但是使用这个 gem — https://github.com/dryruby/tor.rb,当我运行我的脚本时,Ruby 不相信 Tor在跑
require 'tor'
...
puts "avaailble: #{Tor.available?}"
puts "version: #{Tor.version}"
退货
avaailble: false
version:
实际上,当我尝试使用https://github.com/brunogh/tor_requests gem 发出 Tor 请求时,网页请求会立即返回,这让我相信 Tor 网络没有被使用,因为在 Tor 浏览器中它需要更长的时间(这是我用来修改网页请求的代码)……</p>
uri = URI.parse(url)
Net::HTTP.SOCKSProxy('127.0.0.1', 9150).start(uri.host, uri.port) do |http|
f = http.get(uri.path)
end
如何让我的 Ruby/Rails 代码连接到本地运行的 Tor 网络?
编辑:响应给出的答案,这是我将 PATH 和 DYLD_LIBRARY_PATH 变量设置为...</p>
localhost:myproject davea$ echo $PATH
/usr/local/opt/coreutils/libexec/gnubin:/opt/local/bin:/opt/local/sbin:/Users/davea/.rvm/gems/ruby-2.3.0/bin:/Users/davea/.rvm/gems/ruby-2.3.0@global/bin:/Users/davea/.rvm/rubies/ruby-2.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin/:/opt/gradle-2.7/bin:/opt/apache-maven-3.3.3/bin:/Users/ davea/.rvm/bin:/usr/local/mysql/bin:/Applications/TorBrowser.app/Contents/MacOS/Tor:/Users/davea/.rvm/bin:/usr/local/mysql/bin:/Applications/TorBrowser.app/Contents/MacOS/Tor
localhost:myproject davea$ echo $DYLD_LIBRARY_PATH
/Applications/TorBrowser.app/Contents/MacOS/Tor:/usr/local/mysql/lib:/usr/local/mysql/lib:
这是我的 Rails 控制台中尝试列出的命令的 ht 输出……</p>
localhost:myproject davea$ rails console
Running via Spring preloader in process 49987
Loading development environment (Rails 4.2.7.1)
2.3.0 :001 >
2.3.0 :002 > Tor::Config::CONFDIR = '/Applications/TorBrowser.app//Contents/MacOS/Tor'
(irb):2: warning: already initialized constant Tor::Config::CONFDIR
/Users/davea/.rvm/gems/ruby-2.3.0/gems/tor-0.1.2/lib/tor/config.rb:21: warning: previous definition of CONFDIR was here
=> "/Applications/TorBrowser.app//Contents/MacOS/Tor"
2.3.0 :003 > Tor.available?