mproxy-client 0.1.8

MPROXY: UDP Client. Stream local data to logging servers via UDP
Documentation
# MPROXY: Multicast Network Dispatcher and Proxy

Streams data over the network. 


## About 
This repo includes four packages: Forward-proxy, reverse-proxy, UDP client, and UDP server. Proxies allow conversion between TCP and UDP, so these blocks can be combined together for complete interoperability with existing networks.
A primary feature is compatability with [UDP Multicast](https://en.wikipedia.org/wiki/Multicast) for intermediate routing and reverse-proxy, enabling dead simple group communication across complex one-to-many or many-to-many data streams, and resulting in scalable reverse-proxy.
Packages can be run either from the command line or included as a library.

- [X] Simple to use full networking stack
  - Send, proxy, reverse-proxy, and receive to/from multiple endpoints simultaneously
- [X] Fast
  - Can be deployed in less than 5 minutes
  - 500+ Mbps read/transfer/write speed (UDP)
  - Stateless multithreaded concurrency
- [X] Minimal 
  - Zero configuration, logging, or caching
  - Tiny memory footprint, compiled binary sizes ~350KB
  - Less than 1500 LOC
- [X] Leverage benefits of UDP
  - Simple stream aggregation
  - Performant proxy and reverse proxy
  - UDP multicasting for scalable reverse-proxy


## Quick Start
Get started with a simple client/server network. Install the command line tools with cargo, and start a UDP listen server on port 9920.
```bash
cargo install mproxy-client mproxy-server
mproxy-server --listen-addr "localhost:9920" --path "streamoutput.log" --tee
```
Then send some bytes from the client to the server. The path option "-" tells the client to read input from stdin. A filepath, descriptor, or handle may also be used.
```bash
mproxy-client --path "-" --server-addr "localhost:9920"
> Hello world!
```
You should now see your message appear in `streamoutput.log` (and also to stdout if `--tee` is used)


### Compatability

- [X] Windows/Linux/Mac
- [X] IPv4/IPv6
- [X] UDP
- [X] TCP/TLS 
  - via forward and reverse proxy 
  - Partial client-side TLS support provided by `rustls` (requires feature `tls` enabled in `mproxy-forward`)



## Docs
See the documentation for installing and operation instructions
 - [mproxy-client](https://docs.rs/mproxy-client/)
 - [mproxy-server](https://docs.rs/mproxy-server/)
 - [mproxy-forward](https://docs.rs/mproxy-forward/)
 - [mproxy-reverse](https://docs.rs/mproxy-reverse/)