Library to interface with the tap-windows driver created by OpenVPN to manage tap interfaces.
Add this to your [dependencies]
in Cargo.toml
tap-windows = "0.1"
Alternatively you can install it by running cargo add tap-windows
.
Check the documentation for Device
for a simple usage example.
Currently this implementation lacks many features. Here is a list of currently implemented (and unimplemented but planned) features:
- Creating/opening/deleting interfaces.
- Reading and writing from an interface.
- Read driver configuration (mtu, version, mac).
- Write interface ip configuration (set interface ip/mask).
- Read interface ip configuration (get interface ip/mask).
- Tun emulation mode.
- Async read/write.
- Drop netsh for interface configuration (maybe switch to wmi?).