ACCELerate TCP proxy
C
Switch branches/tags
Nothing to show
Clone or download
pandax381 Merge pull request #5 from niryuu/master
fixed: this needs cmake
Latest commit fbd103f Sep 26, 2014
Permalink
Failed to load latest commit information.
.gitignore support Xcode build. Jun 6, 2014
CMakeLists.txt support Xcode build. Jun 6, 2014
LICENSE Initial commit Apr 22, 2014
README.md fixed: this needs cmake Sep 19, 2014
acceltcp.c update May 7, 2014
buffer.h fixed #1 May 1, 2014
evsock.c update May 1, 2014
evsock.h fixed #1 May 1, 2014
http_handler.c Initial import Apr 22, 2014
http_handler.h fixed #1 May 1, 2014
http_parser.c Initial import Apr 22, 2014
http_parser.h Initial import Apr 22, 2014

README.md

AccelTCP

ACCELerate TCP proxy

Build

Clone the code

$ git clone git://github.com/KLab/AccelTCP.git

Build program

$ cd AccelTCP
$ cmake .
$ make

Note: This program requires OpenSSL libraries and libev and CMake.

Note: This program has been tested with Linux (kernel 2.6.32) and Mac OSX (10.9.2)

Usage

usage: acceltcp [options] -- [tunnel_options] tunnel
  Options:
    -d, --debug                # debug mode
    -h, --help                 # show this message
    -q, --quiet                # quiet mode
    -v, --verbose              # verbose mode
    -V, --version              # show version
  Tunnel Options:
    -4, --ipv4only             # IPv4 only
    -6, --ipv6only             # IPv6 only
        --connection-num       # connection pool num (default: 1)
        --http                 # enable http mode
        --http-host=host       # http HOST header value
        --rbuf=size            # recieve socket buffer (default: system default)
        --sbuf=size            # send socket buffer (default: system default)
        --server               # enable server mode
        --ssl-accept           # enable SSL accept
        --ssl-certificate=file # SSL certificate file (default: ./server.crt)
        --ssl-privatekey=file  # SSL private-key file (default: ./server.key)
        --ssl-connect          # enable SSL connect
  Tunnel: (addr and port is numeric only)
    [local_addr:]local_port:remote_addr:remote_port

Example

Server side proxy

[user@10.10.0.100]$ ./acceltcp -- --server --ssl-accept --ssl-connect 40381:133.242.5.116:443

Client side proxy

[user@10.10.0.200]$ ./acceltcp -- --http --http-host=www.klab.com --connection-num=100 --ssl-accept --ssl-connect 8443:10.10.0.100:40381