1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # tokio-multi-proxy
//!
//! `tokio-multi-proxy` is a modular, async multi-interface proxy built with [Tokio](https://tokio.rs) and [Rustls](https://github.com/rustls/rustls).
//!
//! It supports three modes of operation:
//!
//! - **Plain TCP passthrough** (default)
//! - **TLS termination** (`--features tls`)
//! - **Mutual TLS (mTLS)** with client authentication (`--features mtls`)
//!
//! ## Feature Flags
//!
//! | Feature | Description |
//! |-------------|-------------------------------------|
//! | `passthrough` | Raw TCP proxying (enabled by default) |
//! | `tls` | TLS termination on incoming connections |
//! | `mtls` | Mutual TLS (requires `tls`) |
//!
//! ## Example
//!
//! ```rust,no_run
//! #[tokio::main]
//! async fn main() -> anyhow::Result<()> {
//! tokio_multi_proxy::start_tcp("0.0.0.0:8080", "127.0.0.1:9000").await
//! }
//! ```
pub use start_tcp;
pub use start_udp;
pub use start_unix;
pub use start_tls_tcp;
pub use start_mtls_tcp;