Project

proxxxy

0.0
No release in over a year
https proxy
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
 Dependencies

Development

~> 1.2

Runtime

 Project Readme

proxxy

HTTPS & SOCKS5 Proxy

Installation

gem install proxxy

Usage

By default, proxxy starts an HTTPS proxy server on port 3128.

proxxy

Send a request through the proxy server. Note the -p (proxy tunnel) flag.

curl -px https://127.0.0.1:3128 https://www.google.com

You can start several proxy servers.

proxxy https://0.0.0.0:3128 socks5://127.0.0.1:1080

For more details please run:

proxxy --help

Logging

Example output:

2020-12-23T20:39:59.300-07:00 127.0.0.1 43878 www.google.com 80 socks5 success 78
2020-12-23T20:42:07.560-07:00 127.0.0.1 43900 www.google.com 443 https success 844

Log messages are printed to stdout in DSV format. Values are separated by space, and each row contains:

  1. Timestamp in ISO 8601
  2. Client address
  3. Client port
  4. Server address
  5. Server port
  6. Proxy type: https or socks5
  7. Status: success or failure
  8. Comment: number of proxied bytes if success or error message if failure

The --quiet option disables logging.

FAQ

  • Errno::EADDRNOTAVAIL (Cannot assign requested address - bind(2) for "::1" port 3000)

    Make sure that IPv6 is enabled. To check if it's disabled, run:

    sudo sysctl -a | grep disable_ipv6
    

Development

Pull requests are welcome!

To run tests, install cutest and execute:

cutest test/proxxy.rb

To run benchmark:

./benchmark