leicester 0.0.1

A transparently hijack bindings for Rust.
Documentation
# leicester
A traffic transparently redirect bindings for Rust.

# Overview
Rust bindings for tcp traffic transparently redirect, it provides a few major features:
* tcp ingress/egress transparently redirect to local port
* avoid the use of kernel connntrack

Limitations:
* kernel version >= 3.16
* IPv4 available only

# Example
A basic implementation example.

```toml
[dependencies]
leicester = { version = "0.0.1" }
```

Then, on your main.rs:
```rust,no_run
use leicester::{self, Config};

fn main() {
    let conf = &Config {
        eth_name: "ens33",
        proxy_port: "17000",
        redirect_port: "9080",
        route_table: "133",
        ignore_mask: 68,
        mask: 1,
    };

    let hijacker = leicester::Builder::new(conf);
    if hijacker.deploy().is_ok() {
        println!("traffic redirect rules deploy successeful!");
    } else {
        println!("traffic redirect rules deploy failed!");
    }
}

```

More examples can be found [here](https://github.com/ostraca/leicester/tree/main/examples).

# Supported Rust Versions
This library is verified to work in rustc 1.51.0 (nightly), and the support of other versions needs more testing.

# License
This project is licensed under the [Apache License 2.0](https://github.com/ostraca/leicester/blob/main/LICENSE).