2 个版本
0.1.9 | 2024年6月22日 |
---|---|
0.1.8 | 2024年6月19日 |
#518 in Web 编程
36KB
826 行
l4p
嘿,我们现在在第四层了!
l4p
是一个使用 Rust 实现的四层代理,监听特定端口并根据配置将 TCP 数据传输到远程地址(仅 TCP)。
特性
- 监听特定端口并将代理转发到本地或远程端口
- 基于 SNI 的规则,不终止 TLS 连接
- 基于 DNS 的后端,定期解析
安装
为了在您的计算机架构上获得最佳性能,请考虑构建源代码。首先,您可能需要 Rust 工具链。
$ cd l4p
$ cargo build --release
二进制文件将生成在 target/release/l4p
,或者您可以使用 cargo install --path .
安装。
或者您可以使用 Cargo 安装 l4p
$ cargo install l4p
或者您可以从发布页面下载二进制文件。
配置
l4p
将从 /etc/l4p/l4p.yaml
读取 yaml 格式的配置文件,并且您可以将自定义路径设置为环境变量 L4P_CONFIG
,以下是一个最小可行示例
version: 1
log: info
servers:
proxy_server:
listen:
- "127.0.0.1:8081"
default: remote
upstream:
remote: "tcp://www.remote.example.com:8082" # proxy to remote address
内置了两个上游
- Ban,立即终止连接
- Echo,将输入反射回
有关详细的配置信息,请参阅 此示例。
谢谢
fourth
,这是它的一个深度修改分支。
许可证
l4p
在 Apache-2.0 许可证下可用。
依赖关系
~18–33MB
~542K SLoC