Crate mproxy_server

source ·
Expand description

Multicast Network Dispatcher and Proxy

MPROXY: Server

Listen for incoming UDP messages and log to file.

Quick Start

In Cargo.toml

[dependencies]
mproxy-server = "0.1"

Example src/main.rs

use std::path::PathBuf;
use std::thread::JoinHandle;

use mproxy_server::listener;

pub fn main() {
    // bind to IPv6 multicast channel on port 9920
    let listen_addr: String = "[ff01::1]:9920".into();
     
    // output filepath
    let logpath = PathBuf::from("server_demo.log");

    // copy input to stdout
    let tee = true;

    // bind socket listener thread
    let server_thread: JoinHandle<_> = listener(listen_addr, logpath, tee);
    server_thread.join().unwrap();
}

Command Line Interface

Install with cargo

cargo install mproxy-server
MPROXY: UDP Server

Listen for incoming UDP messages and log to file or socket.

USAGE:
  mproxy-server [FLAGS] [OPTIONS] ...

OPTIONS:
  --path        [FILE_DESCRIPTOR]   Filepath, descriptor, or handle.
  --listen-addr [SOCKET_ADDR]       Upstream UDP listening address. May be repeated

FLAGS:
  -h, --help    Prints help information
  -t, --tee     Copy input to stdout

EXAMPLE:
  mproxy-server --path logfile.log --listen-addr '127.0.0.1:9920' --listen-addr '[::1]:9921'

See Also

Functions

  • Server UDP socket listener. Binds to UDP socket address addr, and logs input to logfile. Can optionally copy input to stdout if tee is true. logfile may be a filepath, file descriptor/handle, etc.
  • Create a new UDP socket and bind to upstream socket address