GBPStack 1.2.2
See the version list below for details.
dotnet add package GBPStack --version 1.2.2
NuGet\Install-Package GBPStack -Version 1.2.2
<PackageReference Include="GBPStack" Version="1.2.2" />
<PackageVersion Include="GBPStack" Version="1.2.2" />
<PackageReference Include="GBPStack" />
paket add GBPStack --version 1.2.2
#r "nuget: GBPStack, 1.2.2"
#:package GBPStack@1.2.2
#addin nuget:?package=GBPStack&version=1.2.2
#tool nuget:?package=GBPStack&version=1.2.2
GBPStack — .NET bindings for the Group Protocol Stack
Managed (.NET) bindings for the Group Protocol Stack: a layered, end-to-end encrypted group-messaging protocol family built on top of MLS (RFC 9420).
This NuGet package bundles the managed wrapper plus the native runtime
library gbp_stack for every supported runtime identifier:
win-x64, win-arm64, linux-x64, linux-arm64, osx-x64, osx-arm64.
.NET picks the right binary at runtime — no extra setup is required.
Layers
┌── application ──────────────────────────────────────────────────────┐
│ GtpClient · GapClient · GspClient (TCP/UDP/SCTP-like) │
├─────────────────────────────────────────────────────────────────────┤
│ GroupNode (GBP — IP-like base) │
├─────────────────────────────────────────────────────────────────────┤
│ MlsContext (RFC 9420) │
└─────────────────────────────────────────────────────────────────────┘
Sub-protocol toolkits
Beyond the protocol clients, the package ships ready-made helpers:
MessageHistory+Watermark— bounded GTP message log + per-sender high-water mark for serving and consuming resync requests.JitterBuffer— bounded GAP reorder window keyed byMediaSourceId, withPush,PopInOrder,PopForceand late-frame detection.RoleRegistry+Permissions— bind numeric role ids to permission bit-masks and check them withRequire/Has.CapabilitiesNegotiator— track per-member advertisements and query theIntersection,Union,GroupSupportsandMissingviews.SFrameSession+SFrameEncryptor— SFrame (draft-ietf-sframe-enc) E2EE for GAP audio frames; per-sender AES-GCM keys derived from MLS exporter, 1024-entry sliding-window replay protection.
Install
dotnet add package GBPStack --version 1.2.2
Quick start
using GBPStack;
using var aliceMls = MlsContext.Create("alice");
using var bobMls = MlsContext.Create("bob");
var bobKp = bobMls.ExportKeyPackage();
var welcome = aliceMls.Invite(bobKp);
bobMls.AcceptWelcome(welcome);
var groupId = aliceMls.GroupId;
using var alice = GroupNode.Create(memberId: 1, groupId);
using var bob = GroupNode.Create(memberId: 2, groupId);
alice.BootstrapAsCreator(aliceMls.Epoch);
bob.BootstrapAsJoiner(bobMls.Epoch);
using var aliceGtp = GtpClient.Create();
using var bobGtp = GtpClient.Create();
var frame = aliceGtp.Send(alice, aliceMls, target: 2, messageId: 0xCAFE_F00D, "hello");
foreach (var ev in bob.OnWire(bobMls, frame.Wire))
if (ev.Kind == "payload_received" && ev.StreamType == StreamType.Text)
Console.WriteLine(bobGtp.Accept(ev.Plaintext!).Text);
License
Licensed under Apache License, Version 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.5.5 | 89 | 5/20/2026 | |
| 1.5.4 | 127 | 5/18/2026 | |
| 1.5.3 | 92 | 5/18/2026 | |
| 1.5.2 | 127 | 5/17/2026 | |
| 1.5.1 | 90 | 5/17/2026 | |
| 1.4.2 | 115 | 5/17/2026 | |
| 1.4.1 | 106 | 5/17/2026 | |
| 1.4.0 | 107 | 5/17/2026 | |
| 1.3.0 | 160 | 5/16/2026 | |
| 1.2.3 | 106 | 5/16/2026 | |
| 1.2.2 | 117 | 5/16/2026 | |
| 1.1.4 | 147 | 5/13/2026 | |
| 1.1.3 | 106 | 5/13/2026 | |
| 1.1.2 | 122 | 5/10/2026 | |
| 1.1.1 | 116 | 5/10/2026 | |
| 1.1.0 | 118 | 5/10/2026 | |
| 1.0.1 | 123 | 5/10/2026 | |
| 1.0.0 | 107 | 5/10/2026 | |
| 1.0.0-rc4 | 110 | 5/10/2026 | |
| 1.0.0-rc3 | 107 | 5/10/2026 |