1 unstable release

0.1.2 May 11, 2020
0.1.1 May 11, 2020
0.1.0 May 11, 2020

#27 in #tap

MIT license

35KB
875 lines

tap-windows

Library to interface with the tap-windows driver created by OpenVPN to manage tap interfaces.

Install

Add this to your [dependencies] in Cargo.toml

tap-windows = "0.1"

Alternatively if you have cargo-edit installed you can install it by running cargo add tap-windows.

Usage

Check the documentation for Device for a simple usage example.

Features

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?).

lib.rs:

tap-windows

Library to interface with the tap-windows driver created by OpenVPN to manage tap interfaces. Look at the documentation for Device for a pretty simple example on how to use this library.

Dependencies

~105–335KB