├── .cargo └── config.toml ├── .editorconfig ├── .github ├── dependabot.yml └── workflows │ ├── on-push.yaml │ └── semgrep.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE.md ├── README.md ├── banner.png ├── boringtun-cli ├── Cargo.toml └── src │ └── main.rs ├── boringtun ├── Cargo.toml ├── benches │ └── crypto_benches │ │ ├── blake2s_benching.rs │ │ ├── chacha20poly1305_benching.rs │ │ ├── main.rs │ │ ├── x25519_public_key_benching.rs │ │ └── x25519_shared_key_benching.rs └── src │ ├── device │ ├── allowed_ips.rs │ ├── api.rs │ ├── dev_lock.rs │ ├── drop_privileges.rs │ ├── epoll.rs │ ├── integration_tests │ │ └── mod.rs │ ├── kqueue.rs │ ├── mod.rs │ ├── peer.rs │ ├── tun_darwin.rs │ └── tun_linux.rs │ ├── ffi │ └── mod.rs │ ├── jni.rs │ ├── lib.rs │ ├── noise │ ├── errors.rs │ ├── handshake.rs │ ├── mod.rs │ ├── rate_limiter.rs │ ├── session.rs │ └── timers.rs │ ├── serialization.rs │ ├── sleepyinstant │ ├── mod.rs │ ├── unix.rs │ └── windows.rs │ └── wireguard_ffi.h └── logo.png /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.'cfg(unix)'] 2 | runner = 'sudo -E' 3 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/on-push.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/.github/workflows/on-push.yaml -------------------------------------------------------------------------------- /.github/workflows/semgrep.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/.github/workflows/semgrep.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | .vscode/ 4 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/README.md -------------------------------------------------------------------------------- /banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/banner.png -------------------------------------------------------------------------------- /boringtun-cli/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun-cli/Cargo.toml -------------------------------------------------------------------------------- /boringtun-cli/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun-cli/src/main.rs -------------------------------------------------------------------------------- /boringtun/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/Cargo.toml -------------------------------------------------------------------------------- /boringtun/benches/crypto_benches/blake2s_benching.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/benches/crypto_benches/blake2s_benching.rs -------------------------------------------------------------------------------- /boringtun/benches/crypto_benches/chacha20poly1305_benching.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/benches/crypto_benches/chacha20poly1305_benching.rs -------------------------------------------------------------------------------- /boringtun/benches/crypto_benches/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/benches/crypto_benches/main.rs -------------------------------------------------------------------------------- /boringtun/benches/crypto_benches/x25519_public_key_benching.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/benches/crypto_benches/x25519_public_key_benching.rs -------------------------------------------------------------------------------- /boringtun/benches/crypto_benches/x25519_shared_key_benching.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/benches/crypto_benches/x25519_shared_key_benching.rs -------------------------------------------------------------------------------- /boringtun/src/device/allowed_ips.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/allowed_ips.rs -------------------------------------------------------------------------------- /boringtun/src/device/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/api.rs -------------------------------------------------------------------------------- /boringtun/src/device/dev_lock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/dev_lock.rs -------------------------------------------------------------------------------- /boringtun/src/device/drop_privileges.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/drop_privileges.rs -------------------------------------------------------------------------------- /boringtun/src/device/epoll.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/epoll.rs -------------------------------------------------------------------------------- /boringtun/src/device/integration_tests/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/integration_tests/mod.rs -------------------------------------------------------------------------------- /boringtun/src/device/kqueue.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/kqueue.rs -------------------------------------------------------------------------------- /boringtun/src/device/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/mod.rs -------------------------------------------------------------------------------- /boringtun/src/device/peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/peer.rs -------------------------------------------------------------------------------- /boringtun/src/device/tun_darwin.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/tun_darwin.rs -------------------------------------------------------------------------------- /boringtun/src/device/tun_linux.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/device/tun_linux.rs -------------------------------------------------------------------------------- /boringtun/src/ffi/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/ffi/mod.rs -------------------------------------------------------------------------------- /boringtun/src/jni.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/jni.rs -------------------------------------------------------------------------------- /boringtun/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/lib.rs -------------------------------------------------------------------------------- /boringtun/src/noise/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/noise/errors.rs -------------------------------------------------------------------------------- /boringtun/src/noise/handshake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/noise/handshake.rs -------------------------------------------------------------------------------- /boringtun/src/noise/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/noise/mod.rs -------------------------------------------------------------------------------- /boringtun/src/noise/rate_limiter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/noise/rate_limiter.rs -------------------------------------------------------------------------------- /boringtun/src/noise/session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/noise/session.rs -------------------------------------------------------------------------------- /boringtun/src/noise/timers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/noise/timers.rs -------------------------------------------------------------------------------- /boringtun/src/serialization.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/serialization.rs -------------------------------------------------------------------------------- /boringtun/src/sleepyinstant/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/sleepyinstant/mod.rs -------------------------------------------------------------------------------- /boringtun/src/sleepyinstant/unix.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/sleepyinstant/unix.rs -------------------------------------------------------------------------------- /boringtun/src/sleepyinstant/windows.rs: -------------------------------------------------------------------------------- 1 | pub(crate) use std::time::Instant; 2 | -------------------------------------------------------------------------------- /boringtun/src/wireguard_ffi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/boringtun/src/wireguard_ffi.h -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudflare/boringtun/HEAD/logo.png --------------------------------------------------------------------------------