Go to file
Mahmoud Al-Qudsi d520400413 Abort the other half of a connection regardless of Ok/Err
Previously we were only sending an abort signal on successful completion of one
half of a proxied connection and relying on errors to also affect the other
half.

Now we explicitly send an abort after completing with one half of a connection
regardless of whether we did that successfully or with an error.
2022-06-30 18:18:33 -05:00
src Abort the other half of a connection regardless of Ok/Err 2022-06-30 18:18:33 -05:00
.gitignore Initial project structure 2017-08-11 22:53:31 -05:00
Cargo.lock Upgrade to the latest version of tokio 2022-06-30 16:51:50 -05:00
Cargo.toml Aggressively terminate half-closed connections 2022-06-30 18:09:33 -05:00
LICENSE Added MIT License 2017-08-12 12:28:58 -05:00
Makefile Added Makefile 2017-12-05 21:59:28 -06:00
README.md Fixed title in README.md 2017-08-12 12:31:09 -05:00

README.md

tcpproxy

a simple, cross-platform, multi-client TCP proxy

tcpproxy is a cross-platform, multi-client TCP proxy written in rust, that is designed for those "one-time" tasks where you usually end up spending more time installing a proxy server and setting up the myriad configuration files and options than you do actually using it.

Usage

tcpproxy is a command-line application. One instance of tcpproxy should be started for each remote endpoint you wish to proxy data to/from. All configuration is done via command-line arguments, in keeping with the spirit of this project.

tcpproxy [-b BIND_ADDR] -l LOCAL_PORT -h REMOTE_ADDR -r REMOTE_PORT

Options:
    -l, --local-port LOCAL_PORT
                        The local port to which tcpproxy should bind to
    -r, --remote-port REMOTE_PORT
                        The remote port to which TCP packets should be
                        forwarded
    -h, --host REMOTE_ADDR
                        The remote address to which packets will be forwarded
    -b, --bind BIND_ADDR
                        The address on which to listen for incoming requests
    -d, --debug         Enable debug mode

Where possible, sane defaults for arguments are provided automatically.

Installation

tcpproxy is available via crate, the rust package manager. Installation is as follows:

cargo install tcpproxy

Pre-complied binaries for select platforms may be available from the tcpproxy homepage at https://neosmart.net/tcpproxy/

License

tcpproxy is open source and licensed under the terms of the MIT public license.