Skip to content

Bark

Upstream docs: https://github.com/Finb/Bark

URL Format

URL Fields

  • DeviceKey - The key for each device (Required)
    URL part: bark://:devicekey@host/path
  • Host - Server hostname and port (Required)
    URL part: bark://:devicekey@host/path
  • Path - Server path Default: /
    URL part: bark://:devicekey@host/path

Query/Param Props

Props can be either supplied using the params argument or through the URL using ?key=value&key=value etc.

  • badge - The number displayed next to App icon Default: 0

  • category - Reserved field, no use yet Default: empty

  • copy - The value to be copied Default: empty

  • disabletls - Send over HTTP instead of HTTPS Default: ❌ no

  • group - The group of the notification Default: empty

  • icon - An url to the icon, available only on iOS 15 or later Default: empty

  • scheme - Deprecated: use disabletls. Server protocol, http or https Default: https

  • skiptlsverify - Skip TLS certificate verification Default: ❌ no

  • sound - Value from https://github.com/Finb/Bark/tree/master/Sounds Default: empty

  • title - Notification title, optionally set by the sender Default: empty

  • url - Url that will jump when click notification Default: empty

TLS

Bark sends over HTTPS by default. Set disabletls=yes to send over HTTP instead, which leaves the connection unencrypted. The first send without TLS logs a warning.

A self-hosted bark-server can serve HTTPS with its own certificate, given through its --cert and --key options. Set skiptlsverify=yes when that certificate cannot be verified, such as a self-signed one. The connection stays encrypted, but Shoutrrr does not check which server it talks to. The first send that skips verification logs a warning.

Both options can also be passed as send params, which apply to that send only. A custom HTTP client set through SetHTTPClient or the HTTPClient field keeps its own TLS settings, so skiptlsverify does not change it.

Deprecated

The scheme parameter is deprecated in favor of disabletls. It still works and logs a warning the first time it is used. A scheme of http turns TLS off, and any value other than http or https is rejected. In Go, the Config.Scheme field is deprecated in favor of Config.DisableTLS.