From 428a753fa202329d616518ba2dab7b1c0d6b994f Mon Sep 17 00:00:00 2001 From: Tien Ngo Date: Tue, 30 Dec 2025 14:46:06 +0700 Subject: [PATCH] opt: fix ntfy --- notify.sh | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/notify.sh b/notify.sh index 4fe6410..ed3b917 100644 --- a/notify.sh +++ b/notify.sh @@ -36,23 +36,43 @@ send_ntfy() { echo -e " Topic: ${GREEN}$NTFY_TOPIC${NC}" echo -e " Auth: ${GREEN}Basic Auth${NC}" auth_args="-u $NTFY_USERNAME:$NTFY_PASSWORD" + else + echo -e " Server: ${GREEN}$NTFY_URL${NC}" + echo -e " Topic: ${GREEN}$NTFY_TOPIC${NC}" + echo -e " Auth: ${YELLOW}None (Public)${NC}" fi echo -e " ${YELLOW}→${NC} Sending push notification..." - echo -e " ${YELLOW}→${NC} Target: $NTFY_URL/$NTFY_TOPIC" - echo -e " ${YELLOW}→${NC} Click URL: $click_url" - echo -e " ${YELLOW}→${NC} Message: $MESSAGE" - echo -e "" + echo "" - if curl -s $auth_args -X POST "$NTFY_URL/$NTFY_TOPIC" \ + # Disable exit on error for curl + set +e + response=$(curl -s -w "\n%{http_code}" --http1.1 -k $auth_args -X POST "$NTFY_URL/$NTFY_TOPIC" \ -H "Title: $ICON $TITLE" \ -H "Priority: 4" \ -H "Click: $click_url" \ -H "Actions: view, Open Logs, $click_url" \ - -d "$MESSAGE"; then - echo -e " ${GREEN}✓${NC} Sent successfully" + -d "$MESSAGE" 2>&1) + curl_exit_code=$? + set -e + + # Check curl exit code + if [ $curl_exit_code -ne 0 ]; then + echo -e " ${RED}✗${NC} Failed to send (curl error: $curl_exit_code)" + if [ -n "$response" ]; then + echo -e " ${RED}Error:${NC} $response" + fi else - echo -e " ${RED}✗${NC} Failed to send notification" + http_code=$(echo "$response" | tail -n1) + if [ "$http_code" = "200" ] || [ "$http_code" = "201" ]; then + echo -e " ${GREEN}✓${NC} Sent successfully (HTTP $http_code)" + else + echo -e " ${RED}✗${NC} Failed (HTTP $http_code)" + response_body=$(echo "$response" | head -n -1) + if [ -n "$response_body" ]; then + echo -e " ${RED}Response:${NC} $response_body" + fi + fi fi echo "" fi