Project

hydra5

0.02
No commit activity in last 3 years
No release in over 3 years
Load-balanced (multi-headed) SOCKS5 proxy
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 1.0.0.beta.4
 Project Readme

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