Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Load-balanced (multi-headed) SOCKS5 proxy
Ruby
Branch: master
Failed to load latest commit information.
bin ack, rubygems collisions
lib ack, rubygems collisions
misc extract proxy logic
.gitignore extract proxy logic
.rspec import
Gemfile import
README.md fix example in readme
Rakefile import
hydra5.gemspec fix namespace

README.md

Hydra5: load-balanced (multi-headed) SOCKS5 proxy

Given a list of hosts hydra5 opens a pool of SOCKS5 tunnels and routes incoming requests via a random tunnel. In effect, hydra5 is a regular SOCKS5 proxy, except that each outbound request is automatically load-balanced.

hydra overview

Hydra uses SSH to establish the SOCKS5 tunnels and em-proxy to provide the transparent routing for any SOCKS5 compatible client.

Getting started

$> gem install hydra5
$> hydra5 --listen 8080 --hosts host1,host2 --key ssh_key.pub --user name --verbose
c = Curl::Easy.new('http://jsonip.com')
c.proxy_url = 'localhost:8080'
c.proxy_type = Curl::CURLPROXY_SOCKS5

c.perform
c.body_str # => => {"ip":"72.52.131.237"}

c.perform
c.body_str # => => {"ip":"34.22.124.45"}

Of course, you can also convert hydra5 into a proper HTTP proxy by deploying privoxy or an equivalent tool in front.

License

The MIT License - Copyright (c) 2011 Ilya Grigorik

Something went wrong with that request. Please try again.