Crates.io | mproxy-socket_dispatch |
lib.rs | mproxy-socket_dispatch |
version | 0.1.6 |
source | src |
created_at | 2022-12-02 00:01:23.035972 |
updated_at | 2023-03-31 00:19:27.233438 |
description | MPROXY: Socket Dispatcher. Platform-agnostic API to bind unicast and multicast UDP socket addresses. |
homepage | |
repository | https://github.com/matt24smith/mproxy-dispatcher |
max_upload_size | |
id | 728018 |
size | 5,772 |
Streams data over the network.
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 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.
Simple stream aggregation
Performant proxy and reverse proxy
UDP multicasting enables stateless, scalable reverse-proxy
Get started with a simple client/server network. Install the command line tools with cargo, and start a UDP listen server on port 9920.
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.
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)
Windows/Linux/Mac
IPv4/IPv6
UDP
TCP/TLS
rustls
(requires feature tls
enabled in mproxy-forward
)Fully transparent routing
See the documentation for installing and operation instructions