Ответ 1
Вы используете HTTP-прокси-класс, поэтому вы должны предоставить IP-адрес прокси-сервера HTTP. Tor Browser имеет не HTTP-прокси.
Таким образом, вы можете установить какое-либо прокси-программное обеспечение, например. Privoxy и настройте его для использования Tor SOCKS:
В файле config.txt
forward-socks4a / 127.0.0.1:9050 .
затем используйте Privoxy-адрес прослушивания по умолчанию в script:
proxy = Net::HTTP::Proxy('127.0.0.1',8118)
или использовать SOCKSify. Согласно docs:
require 'socksify/http'
uri = URI.parse('http://rubyforge.org/')
Net::HTTP.SOCKSProxy('127.0.0.1', 9050).start(uri.host, uri.port) do |http|
http.get(uri.path)
end
Нет необходимости в дополнительном программном обеспечении.
Третье решение состоит в том, чтобы использовать SOCKSify следующим образом:
$ socksify_ruby localhost 9050 script.rb
который перенаправляет все TCP-соединения Ruby script, что означает, что вам вообще не нужно использовать какой-либо прокси-код.
Для пояснения вы должны понимать, что 127.0.0.1:9050 является адресом Tor SOCKS и 127.0.0.1:8118 является адресом Privoxy.