#udp-server #tcp-udp #reverse-proxy #data-stream #proxy-server #networking #logging

bin+lib mproxy-server

MPROXY: 服务器。监听传入的 UDP 消息并将其记录到文件。

9 个版本

0.1.8 2023 年 9 月 26 日
0.1.7 2023 年 6 月 1 日
0.1.6 2023 年 3 月 31 日
0.1.3 2022 年 12 月 20 日

网络编程 中排名第 869


4 crates 中使用

MIT 许可证

14KB
193

MPROXY:多播网络调度器和代理

在网络中传输数据。

关于

此仓库包含四个包:正向代理、反向代理、UDP 客户端和 UDP 服务器。代理允许 TCP 和 UDP 之间的转换,因此可以将这些块组合在一起,以实现与现有网络的完全互操作性。主要功能是支持 UDP 多播 以进行中间路由和反向代理,从而实现简单的群组通信,跨越复杂的一对多或多对多数据流,并实现可扩展的反向代理。这些包可以从命令行运行或作为库包含。

  • 简单易用的完整网络堆栈
    • 同时发送、代理、反向代理和接收来自多个端点的数据
  • 快速
    • 可在 5 分钟内部署
    • 500+ Mbps 读写速度(UDP)
    • 无状态多线程并发
  • 最小化
    • 无需配置、日志记录或缓存
    • 微小内存占用,编译的二进制大小约为 350KB
    • 少于 1500 行代码
  • 利用 UDP 的优势
    • 简单的流聚合
    • 高效的代理和反向代理
    • 用于可扩展反向代理的 UDP 多播

快速入门

使用简单的客户端/服务器网络开始。使用 cargo 安装命令行工具,并在端口 9920 上启动 UDP 监听服务器。

cargo install mproxy-client mproxy-server
mproxy-server --listen-addr "localhost:9920" --path "streamoutput.log" --tee

然后从客户端向服务器发送一些字节。路径选项 "-" 告诉客户端从 stdin 读取输入。也可以使用文件路径、描述符或句柄。

mproxy-client --path "-" --server-addr "localhost:9920"
> Hello world!

你现在应该在 streamoutput.log 中看到你的消息(如果使用 --tee,则也会显示在 stdout 中)

兼容性

  • Windows/Linux/Mac
  • IPv4/IPv6
  • UDP
  • TCP/TLS
    • 通过正向和反向代理
    • 通过 rustls 提供部分客户端 TLS 支持(需要在 mproxy-forward 中启用 tls 功能)

文档

请参阅文档以获取安装和操作说明

依赖项

~130–340KB