Question

I ve written a ruby script using anemone gem to crawl a website. The script runs fine when used directly.

But I would like to use socksify gem so that all TCP calls from the script is routed with socks5. I did the following for the same:

  1. Installed and started Tor project and it is running in my machine
  2. Installed socksify gem
  3. ran the following command socksify_ruby localhost 9050 myscript.rb as given here

However anemone does not detect any page in this case. Please let me know what mistake I am doing.

Was it helpful?

Solution

There are a number of problems that could be causing this to happen. First, if ntp is not running on your machine, and the time is off by even a little bit, you will not be able do use the socks server to do anything complicated. This happened to me. You need to install ntp and make sure it has synced before doing anything.

Second, you may find that a lot of this commands like socksify are obsolete. The best way I have found to make sure that everything happens through the socks port without dns leakage is by using curl, which has bindings for many languages. You can carefully watch the traffic with tcpdump to make sure it isn't leaking, and it is watertight in my experience.

I'd also suggest that you look at torsocks, which has recently been updated by dgoulet on github. This replaces tsocks, which the outdated socksify_ruby is based on.

Finally, hidden services have been under great strain lately, because a bot has decided to start up a few million Tor clients. Make sure you can connect with the Tor Browser Bundle, assuming the project you are working on is trying to crawl hidden service.

You didn't actually say that this project involves Tor or hidden services, but you did tag it with Tor.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top