mproxy-client 0.1.1

MPROXY: UDP Client. Stream local data to logging servers via UDP
Documentation

MPROXY: Multicast Network Dispatcher and Proxy

Streams files and raw socket data over the network. MPROXY includes client, forward proxy, reverse proxy, and server packages, each with binary and library targets. Provides a complete network stack using UDP Multicast as an intermediate route, enabling simple deployment of scalable stream multiplexing and aggregate stream processing.

  • Stream arbitrary data over the network
  • Complete networking stack
    • Send, proxy, reverse-proxy, and receive to/from multiple endpoints simultaneously
    • Stream multiplexing and aggregation via multicast IP routing
    • Hostname resolution
  • Fast
    • 500+ Mbps read/transfer/write speed (UDP)
  • Minimal
    • Compiled binaries ~350KB
    • Tiny memory footprint
    • Stateless: no shared resources between threads. Communications between threads are routed via UDP multicast

Compatability

  • UDP
  • TCP (via proxy or reverse_proxy)
  • TLS (partial support for client TLS via mproxy-forward. Requires feature tls enabled)
  • IPv4
  • IPv6
  • Unix/Linux/Mac
  • Windows

Docs

Motivation

  • Minimal set of networking tools needed for complete encapsulation of distributed systems
  • Zero-configuration, simple operation and deployment
  • Leverage benefits of UDP protocol:
    • Dead simple stream aggregation
    • Performant stream multiplexing and redistribution
    • UDP multicasting enables stateless, scalable reverse-proxy
  • Prioritizing cross-compatability, simplicity, security, and performance