From 112257c49e50a50adec33399579aeb8ef4bd12c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me?= <git@jeromecst.com>
Date: Tue, 26 Dec 2023 01:36:40 +0100
Subject: [PATCH] Add notification support for ntfy.sh

---
 notify/ntfy.sh | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 notify/ntfy.sh

diff --git a/notify/ntfy.sh b/notify/ntfy.sh
new file mode 100644
index 00000000..5761c755
--- /dev/null
+++ b/notify/ntfy.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/bash
+
+# support ntfy
+
+#NTFY_URL="https://ntfy.sh"
+#NTFY_TOPIC="xxxxxxxxxxxxx"
+
+ntfy_send() {
+  _subject="$1"
+  _content="$2"
+  _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
+  _debug "_subject" "$_subject"
+  _debug "_content" "$_content"
+  _debug "_statusCode" "$_statusCode"
+
+  NTFY_URL="${NTFY_URL:-$(_readaccountconf_mutable NTFY_URL)}"
+  if [ "$NTFY_URL" ]; then
+    _saveaccountconf_mutable NTFY_URL "$NTFY_URL"
+  fi
+
+  NTFY_TOPIC="${NTFY_TOPIC:-$(_readaccountconf_mutable NTFY_TOPIC)}"
+  if [ "$NTFY_TOPIC" ]; then
+    _saveaccountconf_mutable NTFY_TOPIC "$NTFY_TOPIC"
+  fi
+
+  _data="${_subject}. $_content"
+  response="$(_post "$_data" "$NTFY_URL/$NTFY_TOPIC" "" "POST" "")"
+
+  if [ "$?" = "0" ] && _contains "$response" "expires"; then
+    _info "ntfy event fired success."
+    return 0
+  fi
+
+  _err "ntfy event fired error."
+  _err "$response"
+  return 1
+}