https://github.com/igrigorik/hydra5
Load-balanced (multi-headed) SOCKS5 proxy
https://github.com/igrigorik/hydra5
Last synced: 2 months ago
JSON representation
Load-balanced (multi-headed) SOCKS5 proxy
- Host: GitHub
- URL: https://github.com/igrigorik/hydra5
- Owner: igrigorik
- Created: 2011-11-07T15:56:35.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-11-07T20:03:08.000Z (over 13 years ago)
- Last Synced: 2025-04-22T06:44:50.688Z (3 months ago)
- Language: Ruby
- Homepage:
- Size: 108 KB
- Stars: 43
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this 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 uses SSH to establish the SOCKS5 tunnels and [em-proxy](https://github.com/igrigorik/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
``````ruby
c = Curl::Easy.new('http://jsonip.com')
c.proxy_url = 'localhost:8080'
c.proxy_type = Curl::CURLPROXY_SOCKS5c.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](http://www.privoxy.org/) or an equivalent tool in front.
## License
The MIT License - Copyright (c) 2011 Ilya Grigorik