2 releases

Uses old Rust 2015

0.1.1 Aug 12, 2017
0.1.0 Aug 12, 2017

#87 in #tcp-udp

MIT license

8KB
113 lines

rsproxy

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

rsproxy is a cross-platform, multi-client TCP/UDP 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

rsproxy is a command-line application. One instance of rsproxy 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.

rsproxy is written as a wrapper around the standalone tcpproxy and udpproxy proxy servers, and shells out to one or the other depending on the chosen protocol. If tcpproxy or udpproxy is not installed, rsproxy will attempt to install them automatically (via the cargo package manager).

rsproxy [-b BIND_ADDR] -l LOCAL_PORT -h REMOTE_ADDR -r REMOTE_PORT [[-t]|-u]

Options:
    -l, --local-port LOCAL_PORT
                        The local port to which proxy should bind to
    -r, --remote-port REMOTE_PORT
                        The remote port to which UDP 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
    -t, --tcp           Run in TCP mode. Cannot be used together with --udp
    -u, --udp           Run in UDP mode. Cannot be used together with --tcp

Where possible, sane defaults for arguments are provided automatically. rsproxy defaults to TCP mode if neither --tcp nor --udp is specified.

Installation

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

cargo install rsproxy

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

License

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

Dependencies

~1.5MB
~20K SLoC