APDS#
A personal data server (pds) for ANProto https://anproto.com/
Try it at https://apds.anproto.com/
MIT
Web Push (server)#
This server exposes minimal Web Push subscription + notification plumbing:
GET /push/vapidPublicKeyreturns{ publicKey }(base64url) forpushManager.subscribe({ applicationServerKey }).POST /push/subscribestores a browser PushSubscription (JSON body).POST /push/testtriggers a test push to all stored subscriptions.
When a new ANProto message is added via WebSocket, the server sends a push with payload { type: "latest" } so the service worker can wake up and fetch /latest.
By default it sends { type: "anproto", sigs: ["...==", ...] } (batched + throttled), so the service worker can process specific messages and/or still fetch /latest as a fallback.
Notes:
- The server writes
subscriptions.jsonandvapid.jsonlocally. - Set
VAPID_SUBJECT(e.g.mailto:you@example.comorhttps://your.site) if you don’t want the default.