Bark

Sends custom push notifications to iOS devices from scripts or applications via a simple HTTP API, with support for self-hosting and encryption.

Sends custom push notifications to iOS devices from scripts or applications via a simple HTTP API, with support for self-hosting and encryption.

The gist

Bark is an open-source push notification tool for iOS. Developed by GitHub user Finb, it solves the problem of sending customized, real-time alerts from any application or script directly to an iOS device. It uses Apple's native push service (APNs) to be battery-efficient and supports self-hosting for users who require full control over their data and privacy.

What it does

  • Sends push notifications to iOS devices using simple GET or POST requests.
  • Customizes notification title, subtitle, and body content.
  • Supports advanced iOS features like notification grouping, custom icons, and unique sounds.
  • Sets time-sensitive or critical alert levels to bypass Focus or Do Not Disturb modes.
  • Encrypts push notification content for enhanced privacy.
  • Provides clients and integrations like browser extensions, a CLI, and various SDKs.

How it works

Architecture Diagram
Bark Architecture Diagram

A user installs the Bark iOS app to get a unique key. To trigger a notification, the user sends an HTTP request to the Bark server URL, embedding the key and message parameters in the URL or request body. The server then uses Apple's Push Notification service (APNs) to deliver the alert. The project is free, open-source, and can be self-hosted.

Best for

Developers, hobbyists, or sysadmins who need a simple way to send alerts from their servers, cron jobs, or CI/CD pipelines directly to their personal iOS devices.

Watch out for

Bark is built specifically for the Apple ecosystem and sends notifications only to iOS devices. The documentation does not mention an official client for Android.