├── .github ├── stale.yml └── workflows │ └── ci.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── examples ├── README.md ├── stub │ ├── .gitignore │ ├── Cargo.toml │ └── src │ │ └── main.rs └── wg-cli │ ├── .gitignore │ ├── Cargo.toml │ └── src │ └── main.rs ├── integration-tests ├── .gitignore ├── justfile ├── suites │ ├── native-tun │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ ├── wireguard-to-wiretun │ │ ├── run-test.sh │ │ └── tester │ │ │ ├── .gitignore │ │ │ ├── Cargo.toml │ │ │ └── src │ │ │ └── main.rs │ └── wiretun-to-wiretun │ │ ├── README.md │ │ ├── run-test.sh │ │ └── tester │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ └── src │ │ └── main.rs └── support │ └── wiretun-cli │ ├── .gitignore │ ├── Cargo.toml │ └── src │ ├── main.rs │ └── packet.rs ├── justfile ├── src ├── device │ ├── config.rs │ ├── error.rs │ ├── handle.rs │ ├── inbound.rs │ ├── metrics.rs │ ├── mod.rs │ ├── peer │ │ ├── cidr.rs │ │ ├── handle.rs │ │ ├── handshake.rs │ │ ├── index.rs │ │ ├── mod.rs │ │ ├── monitor.rs │ │ └── session.rs │ ├── rate_limiter.rs │ └── time.rs ├── lib.rs ├── noise │ ├── crypto.rs │ ├── error.rs │ ├── handshake │ │ ├── cookie.rs │ │ ├── initiation.rs │ │ ├── mod.rs │ │ └── response.rs │ ├── mod.rs │ ├── protocol.rs │ └── timestamp.rs ├── tun │ ├── error.rs │ ├── linux │ │ ├── mod.rs │ │ ├── sys.rs │ │ └── tun.rs │ ├── macos │ │ ├── mod.rs │ │ ├── sys.rs │ │ └── tun.rs │ └── mod.rs └── uapi │ ├── connection.rs │ ├── error.rs │ ├── mod.rs │ └── protocol.rs └── tests ├── handshake.rs └── support.rs /.github/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/.github/stale.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/target 2 | /Cargo.lock 3 | .idea 4 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/README.md -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/stub/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | -------------------------------------------------------------------------------- /examples/stub/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/examples/stub/Cargo.toml -------------------------------------------------------------------------------- /examples/stub/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/examples/stub/src/main.rs -------------------------------------------------------------------------------- /examples/wg-cli/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | -------------------------------------------------------------------------------- /examples/wg-cli/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/examples/wg-cli/Cargo.toml -------------------------------------------------------------------------------- /examples/wg-cli/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/examples/wg-cli/src/main.rs -------------------------------------------------------------------------------- /integration-tests/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/.gitignore -------------------------------------------------------------------------------- /integration-tests/justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/justfile -------------------------------------------------------------------------------- /integration-tests/suites/native-tun/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/native-tun/Cargo.toml -------------------------------------------------------------------------------- /integration-tests/suites/native-tun/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/native-tun/src/main.rs -------------------------------------------------------------------------------- /integration-tests/suites/wireguard-to-wiretun/run-test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wireguard-to-wiretun/run-test.sh -------------------------------------------------------------------------------- /integration-tests/suites/wireguard-to-wiretun/tester/.gitignore: -------------------------------------------------------------------------------- 1 | /Cargo.lock 2 | -------------------------------------------------------------------------------- /integration-tests/suites/wireguard-to-wiretun/tester/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wireguard-to-wiretun/tester/Cargo.toml -------------------------------------------------------------------------------- /integration-tests/suites/wireguard-to-wiretun/tester/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wireguard-to-wiretun/tester/src/main.rs -------------------------------------------------------------------------------- /integration-tests/suites/wiretun-to-wiretun/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wiretun-to-wiretun/README.md -------------------------------------------------------------------------------- /integration-tests/suites/wiretun-to-wiretun/run-test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wiretun-to-wiretun/run-test.sh -------------------------------------------------------------------------------- /integration-tests/suites/wiretun-to-wiretun/tester/.gitignore: -------------------------------------------------------------------------------- 1 | /Cargo.lock 2 | -------------------------------------------------------------------------------- /integration-tests/suites/wiretun-to-wiretun/tester/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wiretun-to-wiretun/tester/Cargo.toml -------------------------------------------------------------------------------- /integration-tests/suites/wiretun-to-wiretun/tester/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/suites/wiretun-to-wiretun/tester/src/main.rs -------------------------------------------------------------------------------- /integration-tests/support/wiretun-cli/.gitignore: -------------------------------------------------------------------------------- 1 | /Cargo.lock 2 | -------------------------------------------------------------------------------- /integration-tests/support/wiretun-cli/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/support/wiretun-cli/Cargo.toml -------------------------------------------------------------------------------- /integration-tests/support/wiretun-cli/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/support/wiretun-cli/src/main.rs -------------------------------------------------------------------------------- /integration-tests/support/wiretun-cli/src/packet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/integration-tests/support/wiretun-cli/src/packet.rs -------------------------------------------------------------------------------- /justfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/justfile -------------------------------------------------------------------------------- /src/device/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/config.rs -------------------------------------------------------------------------------- /src/device/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/error.rs -------------------------------------------------------------------------------- /src/device/handle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/handle.rs -------------------------------------------------------------------------------- /src/device/inbound.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/inbound.rs -------------------------------------------------------------------------------- /src/device/metrics.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/metrics.rs -------------------------------------------------------------------------------- /src/device/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/mod.rs -------------------------------------------------------------------------------- /src/device/peer/cidr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/cidr.rs -------------------------------------------------------------------------------- /src/device/peer/handle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/handle.rs -------------------------------------------------------------------------------- /src/device/peer/handshake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/handshake.rs -------------------------------------------------------------------------------- /src/device/peer/index.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/index.rs -------------------------------------------------------------------------------- /src/device/peer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/mod.rs -------------------------------------------------------------------------------- /src/device/peer/monitor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/monitor.rs -------------------------------------------------------------------------------- /src/device/peer/session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/peer/session.rs -------------------------------------------------------------------------------- /src/device/rate_limiter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/rate_limiter.rs -------------------------------------------------------------------------------- /src/device/time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/device/time.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/noise/crypto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/crypto.rs -------------------------------------------------------------------------------- /src/noise/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/error.rs -------------------------------------------------------------------------------- /src/noise/handshake/cookie.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/handshake/cookie.rs -------------------------------------------------------------------------------- /src/noise/handshake/initiation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/handshake/initiation.rs -------------------------------------------------------------------------------- /src/noise/handshake/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/handshake/mod.rs -------------------------------------------------------------------------------- /src/noise/handshake/response.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/handshake/response.rs -------------------------------------------------------------------------------- /src/noise/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/mod.rs -------------------------------------------------------------------------------- /src/noise/protocol.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/protocol.rs -------------------------------------------------------------------------------- /src/noise/timestamp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/noise/timestamp.rs -------------------------------------------------------------------------------- /src/tun/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/error.rs -------------------------------------------------------------------------------- /src/tun/linux/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/linux/mod.rs -------------------------------------------------------------------------------- /src/tun/linux/sys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/linux/sys.rs -------------------------------------------------------------------------------- /src/tun/linux/tun.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/linux/tun.rs -------------------------------------------------------------------------------- /src/tun/macos/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/macos/mod.rs -------------------------------------------------------------------------------- /src/tun/macos/sys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/macos/sys.rs -------------------------------------------------------------------------------- /src/tun/macos/tun.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/macos/tun.rs -------------------------------------------------------------------------------- /src/tun/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/tun/mod.rs -------------------------------------------------------------------------------- /src/uapi/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/uapi/connection.rs -------------------------------------------------------------------------------- /src/uapi/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/uapi/error.rs -------------------------------------------------------------------------------- /src/uapi/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/uapi/mod.rs -------------------------------------------------------------------------------- /src/uapi/protocol.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/src/uapi/protocol.rs -------------------------------------------------------------------------------- /tests/handshake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/tests/handshake.rs -------------------------------------------------------------------------------- /tests/support.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/clnv/wiretun/HEAD/tests/support.rs --------------------------------------------------------------------------------