OpenMeKit — C# / .NET
openme Windows, OpenMeKit C#, .NET SPA library, single packet authentication Windows, KnockService C#, WPF knock protocol, openme dotnet
OpenMeKit is the official .NET 8 client library for the openme Single Packet Authentication protocol.
- Source:
windows/OpenMeKit/in the openme repository - Language: C# 12 / .NET 8
- Platforms: Windows, Linux, macOS (.NET runtime)
Features
| Capability | Details |
|---|---|
| SPA knock | Ed25519 + X25519 ECDH + HKDF-SHA256 + ChaCha20-Poly1305 over UDP via UdpClient |
| Profile management | Profile (serializable) + ProfileStore (app-local JSON persistence) |
| YAML import | Parses openme add output via ClientConfigParser |
| QR import | Parses the JSON payload from openme qr |
| XML docs | Full <summary> documentation on all public symbols |
Installation
The library is included as a project reference. To add it to your solution:
<!-- In your .csproj -->
<ItemGroup>
<ProjectReference Include="..\OpenMeKit\OpenMeKit.csproj" />
</ItemGroup>Or build and reference the NuGet package locally:
cd windows/OpenMeKit
dotnet pack -c Release
# Output: bin/Release/OpenMeKit.1.0.0.nupkgQuick Start
using OpenMeKit;
var profile = new Profile
{
ServerHost = "myserver.example.com",
ServerUdpPort = 54154,
ServerPubKey = Convert.FromBase64String("..."),
PrivateKey = Convert.FromBase64String("...")
};
await KnockService.KnockAsync(profile);
Console.WriteLine("Knocked successfully");DocFX Reference
The full XML doc API reference is generated by DocFX and published with each release of the documentation site:
→ OpenMeKit .NET API Reference
To generate locally:
dotnet tool install -g docfx
docfx windows/OpenMeKit/docfx.jsonRunning Tests
cd windows
dotnet test OpenMeKit.Tests/OpenMeKit.Tests.csprojTests use xUnit and include known-answer tests against the Go reference implementation’s test vectors.
Windows App
The openme-windows project is a WPF system-tray application built on top of the OpenMeKit library. It appears as a system-tray icon and lets users knock from the Windows taskbar.