#transparently #hijack #bindings #redirect #port

莱斯特

一个为 Rust 提供透明劫持绑定的库

2 个版本

0.0.1 2021 年 10 月 27 日
0.0.0 2021 年 10 月 27 日

#4 in #transparently

MIT/Apache

11KB
217

莱斯特

一个用于 Rust 的透明重定向流量绑定。

概述

Rust 绑定用于 tcp 流量透明重定向,它提供了一些主要功能

  • tcp 入/出流量透明重定向到本地端口
  • 避免使用内核 connntrack

限制

  • 内核版本 >= 3.16
  • 仅支持 IPv4

示例

一个基本实现示例。

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

然后,在你的 main.rs

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!");
    }
}

更多示例可以在 这里 找到。

支持的 Rust 版本

此库经过验证可在 rustc 1.51.0 (nightly) 中运行,其他版本的兼容性需要更多测试。

许可证

此项目采用 Apache License 2.0 许可。

依赖项

~5MB
~90K SLoC