cloudflare / cloudflare/boringtun

[request] exposing some `::device` internals

Open
#131 2 comments 1 reaction 0 assignees View on GitHub
changes requested
Dominant language
Rust
Stars
7.2k
Forks
532
PR merge metrics
No merged PRs in 30d

Description

I'm porting a Golang project to Rust called [yggdrasil](https://yggdrasil-network.github.io) - tl;dr, its a P2P meshnet software built on Wireguard in which your static IPv6 is derived from the hash of a public ed25519 key.

The original is built on wireguard-go and seems to rely on a slightly higher-level "device" [API](https://github.com/WireGuard/wireguard-go/blob/master/tun/tun.go) that simplifies its integration into the project, and I noticed that the most similar types and interfaces were unique to the `boringtun` binary, not library, and (unfortunately for someone of my familiarity with Rust) make extensive use of `unsafe`.

Would it be possible to expose types like `TunSocket` and even `Device` and `Peer` in the library API?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.