9个版本
0.3.1 | 2023年4月29日 |
---|---|
0.3.0 | 2023年4月28日 |
0.2.5 | 2022年6月14日 |
0.2.4 | 2020年3月23日 |
0.1.1 | 2020年3月9日 |
在#tun-tap中的第4位
每月下载23次
21KB
279 行
适用于Rust的通用Tun/Tap
此库旨在为不同操作系统上的Tun/Tap设备提供强大、经过良好测试的统一API。它是运行时无关的,因此您可以创建自己的跨平台包装器,用于Tokio、async-std等。
用法
它简单提供打开Tun/Tap设备文件的选项。更多选项请参见文档。
use utuntap::tun;
let (mut file, filename) = tun::OpenOptions::new()
.packet_info(false) // Only available on Linux
.open(10)
.expect("failed to open device");
支持的平台
操作系统 | CI状态 | 注释 |
---|---|---|
Linux | musl 也受支持。 |
|
OpenBSD | 根据手册,每个读取或写入的数据包前都带有包含地址族的4字节隧道头。值在此处列出。 | |
macOS | TUN-only | 读取和写入需要4字节地址族前缀:[0u8, 0, 0, 2] 用于IPv4;[0, 0, 0, 10] 用于IPv6。 |
依赖项
~0.4–420KB