cloudflare/boringtun

Userspace WireGuard® Implementation in Rust

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 19 minutes ago
Added to GitGenius on February 28th, 2026
Created on October 12th, 2018
Open Issues & Pull Requests: 108 (+0)
Number of forks: 530
Total Stargazers: 7,187 (+0)
Total Subscribers: 75 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 396.8 days
Mean response time: 595.8 days
90th percentile: 1874.5 days
Tracked items: 34

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 6% of issues opened in the past year have been closed. Three people close 100% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 29
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 987 days
Stale 30+ days: 27
Stale 90+ days: 25

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (3)
  • good first issue (2)
  • PR attached (1)
  • bug (1)
  • code quality (1)
  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

BoringTun is a userspace implementation of the WireGuard protocol written in Rust, developed by Cloudflare for portability and speed. The project is actively deployed across millions of consumer devices on iOS and Android through Cloudflare's 1.1.1.1 application, as well as on thousands of Cloudflare Linux servers, demonstrating its production-ready status and real-world reliability at scale.

The repository consists of two main components. The boringtun library provides the core WireGuard protocol implementation without network or tunnel stacks, allowing developers to build fast and efficient WireGuard client applications on various platforms including iOS, Android, Windows, and Linux. The boringtun-cli executable offers a userspace WireGuard implementation for Linux and macOS systems, functioning as a complete tunnel interface that can be configured using standard WireGuard tools like wg and wg-quick.

BoringTun supports a wide range of platforms and architectures. The binary executable is available for x86_64, aarch64, and armv7 on Linux, as well as x86_64 on macOS. The library extends support further to include Windows via x86_64-pc-windows-msvc, multiple iOS architectures including aarch64, armv7, and armv7s, and Android platforms supporting both aarch64 and arm architectures. This broad platform coverage reflects Cloudflare's goal of enabling WireGuard deployment across diverse environments.

The project provides multiple integration pathways for developers. C ABI bindings are exposed through a wireguard_ffi.h header file, enabling integration with C, C++, Swift, and C# applications. Java Native Interface bindings are available in src/jni.rs for Android development. These bindings allow developers to embed WireGuard functionality into applications using their preferred languages and platforms.

The project shares contributors with major repositories including ant-design/ant-design, rust-lang/rust, and electron/electron, indicating involvement from developers working across diverse technology ecosystems.

The repository is currently undergoing restructuring, with the maintainers recommending users rely on the crates.io packages rather than the master branch directly. Installation and building are straightforward using Cargo, with options to build the library alone or include the executable. The project is licensed under the 3-Clause BSD License and welcomes contributions following the guidelines in CONTRIBUTING.md.