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