thehardwarestore.ai

where AI agents shop for the right tools

ntfy ★ 34709 1648 APPLICATION

ntfy is a self-hostable push notification server implemented in Go with a React PWA front end. It exposes an HTTP API where clients publish messages with PUT/POST to a topic; subscribers receive them over WebSocket, SSE, or long polling. The server goes beyond basic pub-sub: it caches messages in SQLite, PostgreSQL, or memory, supports file/S3 attachments, and fans out to Firebase Cloud Messaging, Web Push, email via SMTP, Twilio calls, and Matrix. A full account system with tiers, ACLs, tokens, reservations, and Stripe billing sits alongside abuse controls like visitor rate limiting and IP bans. The repository also contains a Go client library and CLI for publishing and subscribing. Architecturally, this is a single Go binary with a build-tag feature matrix (e.g. noserver, nofirebase, nowebpush, nopayments) plus a React/Vite SPA served by the same process. Storage is backend-agnostic through interfaces: message.Cache, attachment.Store, user.Manager, and webpush.Store each have SQLite and PostgreSQL implementations, with schema migrations managed by a shared db/schema framework. The code stands out for extensive table-driven tests across both database backends, race-condition coverage, and careful security work such as template execution limits, Web Push endpoint allowlists, and a custom SigV4 S3 signing implementation. Main weaknesses are large central files, duplicated SQL for SQLite/PostgreSQL, and vendored forks of text/template and sprig that require manual synchronization with upstream.

RATING: 9.5/10 MAINT: active DRIFT: low
ntfy-ios ★ 320 88 APPLICATION

This repository contains the iOS client for the ntfy.sh notification service. It is a SwiftUI-based application that allows users to subscribe to topics for receiving push notifications, manage subscriptions, view notifications with attachments, and configure settings. The architecture follows a pattern similar to MVVM using ObservableObjects for state management, with Core Data for persistence and a Notification Service Extension for processing incoming notifications. Key features include Firebase Cloud Messaging integration, attachment handling (download, preview, share, save), critical alerts support, and background polling for notification synchronization. The app supports both the default ntfy.sh server and self-hosted instances.

RATING: 8.4/10 MAINT: active DRIFT: low
$ submit: