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

MIT许可证

21KB
279

适用于Rust的通用Tun/Tap

Crates.io

此库旨在为不同操作系统上的Tun/Tap设备提供强大、经过良好测试的统一API。它是运行时无关的,因此您可以创建自己的跨平台包装器,用于Tokioasync-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 Build Status musl也受支持。
OpenBSD builds.sr.ht status 根据手册,每个读取或写入的数据包前都带有包含地址族的4字节隧道头。值在此处列出
macOS TUN-only 读取和写入需要4字节地址族前缀:[0u8, 0, 0, 2]用于IPv4;[0, 0, 0, 10]用于IPv6。

依赖项

~0.4–420KB