Rask.WebPush
0.20.1-alpha.0.267
See the version list below for details.
dotnet add package Rask.WebPush --version 0.20.1-alpha.0.267
NuGet\Install-Package Rask.WebPush -Version 0.20.1-alpha.0.267
<PackageReference Include="Rask.WebPush" Version="0.20.1-alpha.0.267" />
<PackageVersion Include="Rask.WebPush" Version="0.20.1-alpha.0.267" />
<PackageReference Include="Rask.WebPush" />
paket add Rask.WebPush --version 0.20.1-alpha.0.267
#r "nuget: Rask.WebPush, 0.20.1-alpha.0.267"
#:package Rask.WebPush@0.20.1-alpha.0.267
#addin nuget:?package=Rask.WebPush&version=0.20.1-alpha.0.267&prerelease
#tool nuget:?package=Rask.WebPush&version=0.20.1-alpha.0.267&prerelease
Rask.WebPush
Server-side Web Push sender. Signs VAPID and encrypts
(RFC 8291, aes128gcm) push messages, then POSTs them to
a browser PushSubscription endpoint. It is the send half that pairs with Rask.Wasm's
IWebPush client — but it is transport-neutral: usable from a Rask Server app or any ASP.NET
backend behind a WASM PWA.
No external dependencies beyond Microsoft.Extensions.* — all crypto is in-box
System.Security.Cryptography.
Install
dotnet add package Rask.WebPush
Use
builder.Services.AddRaskWebPush(o =>
{
o.VapidKeys = VapidKeys.Generate(); // generate once, then load from config/secrets
o.Subject = "mailto:admin@example.com"; // a contact the push service can reach
});
// ... inject IWebPush, then given a PushSubscription the browser sent you:
var result = await sender.SendAsync(
subscription,
new WebPushMessage { Title = "Hello", Body = "from the server" },
ct);
// Inspect the result to prune dead subscriptions:
if (result.ShouldDelete) await store.RemoveAsync(subscription);
Notes
- Standards-based — VAPID (RFC 8292) auth + RFC 8291
aes128gcmpayload encryption; interops with any standard browser Push service (FCM, Mozilla, WNS). - Zero external deps — ECDH, HKDF and AES-GCM come from
System.Security.Cryptography. - Generate a VAPID key pair once with
VapidKeys.Generate()and keep the private key server-side; hand the public key to the browser subscription. SendAsyncreturns aWebPushResultwhoseShouldDelete/ShouldRetryflags map the push service's response to the action to take on the subscription.
Full documentation: https://github.com/pal-tamas/rask/blob/main/docs/pwa.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Http (>= 10.0.11)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.11)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Rask.WebPush:
| Package | Downloads |
|---|---|
|
Rask
The one reference a Rask application needs, server or browser. On a server target (net10.0 or net11.0) it brings the ASP.NET host plus every battery — database (SQLite, PostgreSQL or SQL Server, picked by Rask:Database:Provider), mediator, background jobs, transactional email, cache, file storage, outbox, operator dashboard, durable logs, Web Push, and SQLite snapshots and continuous backup — with RaskApp.Create(args) as the entry point. On a browser target it brings the WebAssembly host, the source-generated mediator, the query cache and remote dispatch. Everything referenced is wired and on; app.Configure(c => c.Jobs.Off()) is how an app does without one. Reference Rask.Server for a lean host with no database. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.21.1-alpha.0.87 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.83 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.81 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.80 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.79 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.78 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.77 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.76 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.75 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.74 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.73 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.72 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.71 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.70 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.69 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.68 | 0 | 9/15/2026 |
| 0.21.1-alpha.0.67 | 24 | 9/14/2026 |
| 0.21.1-alpha.0.66 | 32 | 9/14/2026 |
| 0.21.0 | 115 | 9/10/2026 |
| 0.20.1-alpha.0.267 | 43 | 9/9/2026 |