# Install boringtun with Homebrew, Nix

Userspace WireGuard implementation in Rust. Version 0.7.1 via Homebrew; verified 2026-05-02.

## Install

```sh
sudo av install brew:boringtun
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install boringtun
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#boringtun
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bo/boringtun/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:boringtun
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/boringtun>
- **Version:** 0.7.1
- **Source summary:** Userspace WireGuard implementation in Rust
- **Homepage:** <https://github.com/cloudflare/boringtun>
- **Repository:** <https://github.com/cloudflare/boringtun>
- **Upstream docs:** <https://github.com/cloudflare/boringtun#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/cloudflare/boringtun/archive/refs/tags/boringtun-0.7.1.tar.gz>
- **Last updated:** 2026-05-02T04:20:23Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- boringtun-cli (cli)
- boringtun-cli (alias)

## Build dependencies

- rust

## Install behavior

- Post-install hook: not defined
- Caveats: boringtun-cli requires root privileges so you will need to run `sudo boringtun-cli utun`. You should be certain that you trust any software you grant root privileges.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.7.1
- Package-manager updated: 2026-05-02
- Local data: ok
- Upstream repository: https://github.com/cloudflare/boringtun
- Upstream latest detected: boringtun-0.7.1 (current)
## Project history and usage

BoringTun is Cloudflare's Rust userspace implementation of the WireGuard protocol, distributed as both a library and the boringtun-cli command-line tool.

### Project history

Cloudflare announced BoringTun publicly on March 27, 2019 after evaluating existing WireGuard implementations and choosing Rust for a portable, memory-safe, high-performance userspace implementation. The repository itself was created in October 2018, matching the blog's account that the project had been under development before the source release.

The README describes two deliverables: boringtun-cli for Linux and macOS userspace tunnels, and the boringtun library for client applications that supply their own platform-specific tunnel and network stacks.

### Adoption history

BoringTun's adoption story is unusually concrete for a low-level networking library: Cloudflare's README says it is deployed on millions of iOS and Android consumer devices and thousands of Cloudflare Linux servers.

Cloudflare's WARP posts tie BoringTun to the 1.1.1.1/WARP client stack, making it part of a large production VPN deployment rather than only a reference implementation.

### How it is used

As a CLI, boringtun-cli starts a userspace WireGuard tunnel for an interface and can be used with wg and wg-quick through WG_QUICK_USERSPACE_IMPLEMENTATION. As a library, it exposes the WireGuard protocol machinery for clients that implement their own transport and tunnel integration.

Because it is userspace and permissively licensed, BoringTun is useful where the Linux kernel WireGuard module is unavailable or where client apps need portable WireGuard behavior across mobile and desktop platforms.

### Why package nerds care

BoringTun matters to package nerds because it is a Rust networking primitive with a real production pedigree, a split library/CLI shape, and a clear relationship to the broader WireGuard ecosystem.

It also illustrates the packaging distinction between protocol implementation, command-line frontend, and OS integration: installing boringtun-cli gives a binary, but useful operation still depends on TUN devices, WireGuard tooling, and platform networking permissions.

### Timeline

- 2018-10: Official GitHub repository metadata shows the repository created.
- 2019-03: Cloudflare announced and open sourced BoringTun.
- 2021: Cloudflare described WARP for Linux using BoringTun as its WireGuard implementation.
- 2022: GitHub release metadata shows v0.4.0 in the public release feed.
- 2026: Repository metadata shows continued activity.

### Related projects

- WireGuard is the VPN protocol BoringTun implements.
- wireguard-go is the userspace implementation Cloudflare compared against when explaining why BoringTun was created.
- Cloudflare WARP is the large-scale client product that uses BoringTun.

### Sources

- <https://api.github.com/repos/cloudflare/boringtun>
- <https://api.github.com/repos/cloudflare/boringtun/releases?per_page=100>
- <https://blog.cloudflare.com/announcing-warp-for-linux-and-proxy-mode/>
- <https://blog.cloudflare.com/boringtun-userspace-wireguard-rust/>
- <https://github.com/cloudflare/boringtun>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** boringtun
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - boringtun: normalized package name match | nixpkgs package indexes: pkgs/by-name/bo/boringtun/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Cloud CLI packages](https://www.automicvault.com/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [headscale-cli](https://www.automicvault.com/pkg/brew/headscale-cli/) - Shares av.db curated category or tags: cli, networking, vpn, wireguard.
- [tailscale](https://www.automicvault.com/pkg/brew/tailscale/) - Shares av.db curated category or tags: cli, networking, vpn, wireguard.
- [wgcf](https://www.automicvault.com/pkg/brew/wgcf/) - Shares av.db curated category or tags: cli, networking, vpn, wireguard.
- [wireguard-go](https://www.automicvault.com/pkg/brew/wireguard-go/) - Shares av.db curated category or tags: cli, networking, vpn, wireguard.
- [wireguard-tools](https://www.automicvault.com/pkg/brew/wireguard-tools/) - Shares av.db curated category or tags: cli, networking, vpn, wireguard.
- [dsvpn](https://www.automicvault.com/pkg/brew/dsvpn/) - Shares av.db curated category or tags: cli, networking, vpn.
- [edgevpn](https://www.automicvault.com/pkg/brew/edgevpn/) - Shares av.db curated category or tags: cli, networking, vpn.
- [fastd](https://www.automicvault.com/pkg/brew/fastd/) - Shares av.db curated category or tags: cli, networking, vpn.

## Combined YAML source

View the package source record on GitHub. [combined/boringtun.yml](https://github.com/automic-vault/db/blob/main/combined/boringtun.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
