Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neosmart/rsproxy
A simple, command-line TCP/UDP proxy server
https://github.com/neosmart/rsproxy
proxy rust tcp udp
Last synced: 3 months ago
JSON representation
A simple, command-line TCP/UDP proxy server
- Host: GitHub
- URL: https://github.com/neosmart/rsproxy
- Owner: neosmart
- License: mit
- Created: 2017-08-12T20:23:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-23T06:29:06.000Z (almost 5 years ago)
- Last Synced: 2024-04-27T02:26:03.003Z (7 months ago)
- Topics: proxy, rust, tcp, udp
- Language: Rust
- Size: 8.79 KB
- Stars: 22
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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`](https://github.com/neosmart/tcpproxy) and [`udpproxy`](https://github.com/neosmart/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.