]> git.proxmox.com Git - mirror_acme.sh.git/commitdiff
added pushbullet functionality
authorciro <ciro.perezjr@gmail.com>
Sun, 11 Jul 2021 23:29:44 +0000 (20:29 -0300)
committerciro <ciro.perezjr@gmail.com>
Sun, 11 Jul 2021 23:29:44 +0000 (20:29 -0300)
notify/pushbullet.sh [new file with mode: 0644]

diff --git a/notify/pushbullet.sh b/notify/pushbullet.sh
new file mode 100644 (file)
index 0000000..44461d2
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/env sh
+
+#Support for pushbullet.com's api. Push notification, notification sync and message platform for multiple platforms
+#PUSHBULLET_TOKEN="" Required, pushbullet application token
+#PUSHBULLET_DEVICE="" Optional, Specific device, ignore to send to all devices
+
+PUSHBULLET_URI="https://api.pushbullet.com/v2/pushes"
+pushbullet_send() {
+    _subject="$1"
+    _content="$2"
+    _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
+    _debug "_statusCode" "$_statusCode"
+
+    PUSHBULLET_TOKEN="${PUSHBULLET_TOKEN:-$(_readaccountconf_mutable PUSHBULLET_TOKEN)}"
+    if [ -z "$PUSHBULLET_TOKEN" ]; then
+        PUSHBULLET_TOKEN=""
+        _err "You didn't specify a Pushbullet application token yet."
+        return 1
+    fi
+    _saveaccountconf_mutable PUSHBULLET_TOKEN "$PUSHBULLET_TOKEN"
+
+    PUSHBULLET_DEVICE="${PUSHBULLET_DEVICE:-$(_readaccountconf_mutable PUSHBULLET_DEVICE)}"
+    if [ -z "$PUSHBULLET_DEVICE" ]; then
+        _saveaccountconf_mutable PUSHBULLET_TOKEN "$PUSHBULLET_TOKEN"
+    fi
+
+    export _H1="Content-Type: application/json"
+    export _H2="Access-Token: ${PUSHBULLET_TOKEN}"
+    _content="$(printf "*%s*\n" "$_content" | _json_encode)"
+    _subject="$(printf "*%s*\n" "$_subject" | _json_encode)"
+    _data="{\"type\": \"note\",\"title\": \"${_subject}\",\"body\": \"${_content}\",\"device_iden\": \"${PUSHBULLET_DEVICE}\"}"
+    response="$(_post "$_data" "$PUSHBULLET_URI")"
+
+    if [ "$?" != "0" ] || _contains "$response" "\"error_code\""; then
+        _err "PUSHBULLET send error."
+        _err "$response"
+        return 1
+    fi
+
+    _info "PUSHBULLET send success."
+    return 0
+}