Files
redux-scraper/app/lib/scraper/tor_curl_http_performer.rb
2025-07-25 00:25:12 +00:00

29 lines
721 B
Ruby

# typed: strict
# frozen_string_literal: true
class Scraper::TorCurlHttpPerformer < Scraper::CurlHttpPerformer
extend T::Sig
sig { override.returns(String) }
def performed_by
"tor-1"
end
sig { override.returns(Curl::Easy) }
def get_curl
t = Thread.current
unless t.thread_variable?(:curl)
t.thread_variable_set(:curl, Curl::Easy.new)
end
curl = T.cast(t.thread_variable_get(:curl), Curl::Easy)
curl.proxy_url = "socks5h://tor:9050"
curl.headers = {
"User-Agent" =>
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:128.0) Gecko/20100101 Firefox/128.0",
"Accept-Encoding" => "gzip, deflate",
"Connection" => "keep-alive",
}
curl
end
end