2 releases
Uses old Rust 2015
0.1.1 | Aug 12, 2017 |
---|---|
0.1.0 | Aug 12, 2017 |
#87 in #tcp-udp
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