Add support for Apprise Tags

This commit is contained in:
Douglas Maitelli
2025-07-27 22:29:19 +00:00
parent 7e573282d0
commit ab9c940d01
4 changed files with 51 additions and 9 deletions

View File

@@ -5,14 +5,6 @@
"API_TOKEN_name": "API-Schlüssel",
"API_display_name": "API",
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
"APPRISE_HOST_description": "Apprise host URL starting with <code>http://</code> or <code>https://</code>. (do not forget to include <code>/notify</code> at the end)",
"APPRISE_HOST_name": "Apprise host URL",
"APPRISE_PAYLOAD_description": "Select the payload type sent to Apprise. For example <code>html</code> works well with emails, <code>text</code> with chat apps, such as Telegram.",
"APPRISE_PAYLOAD_name": "Payload type",
"APPRISE_SIZE_description": "The maximum size of the apprise payload as number of characters in the passed string. If above limit, it will be truncated and a <code>(text was truncated)</code> message is appended.",
"APPRISE_SIZE_name": "Max payload size",
"APPRISE_URL_description": "Apprise notification target URL. For example for Telegram it would be <code>tgram://{bot_token}/{chat_id}</code>.",
"APPRISE_URL_name": "Apprise notification URL",
"About_Design": "Entworfen für:",
"About_Exit": "Abmelden",
"About_Title": "Netzwerksicherheitsscanner und Benachrichtigungsframework",

View File

@@ -5,6 +5,16 @@
"API_TOKEN_name": "API token",
"API_display_name": "API",
"API_icon": "<i class=\"fa fa-arrow-down-up-across-line\"></i>",
"APPRISE_HOST_description": "Apprise host URL starting with <code>http://</code> or <code>https://</code>. (do not forget to include <code>/notify</code> at the end)",
"APPRISE_HOST_name": "Apprise host URL",
"APPRISE_PAYLOAD_description": "Select the payload type sent to Apprise. For example <code>html</code> works well with emails, <code>text</code> with chat apps, such as Telegram.",
"APPRISE_PAYLOAD_name": "Payload type",
"APPRISE_SIZE_description": "The maximum size of the apprise payload as number of characters in the passed string. If above limit, it will be truncated and a <code>(text was truncated)</code> message is appended.",
"APPRISE_SIZE_name": "Max payload size",
"APPRISE_TAG_description": "Apprise notification target type.",
"APPRISE_TAG_name": "Apprise notification target type",
"APPRISE_URL_description": "Apprise notification target URL. For example for Telegram it would be <code>tgram://{bot_token}/{chat_id}</code>.",
"APPRISE_URL_name": "Apprise notification URL",
"About_Design": "Designed for:",
"About_Exit": "Sign out",
"About_Title": "Network security scanner & notification framework",

View File

@@ -78,7 +78,7 @@ def main():
#-------------------------------------------------------------------------------
def check_config():
if get_setting_value('APPRISE_URL') == '' or get_setting_value('APPRISE_HOST') == '':
if get_setting_value('APPRISE_HOST') == '' or get_setting_value('APPRISE_URL') == '':
return False
else:
return True
@@ -113,6 +113,14 @@ def send(html, text):
"body": payloadData
}
if get_setting_value('APPRISE_TARGETTYPE') == 'tag':
_json_payload = {
"tags": get_setting_value('APPRISE_URL'),
"title": "NetAlertX Notifications",
"format": get_setting_value('APPRISE_PAYLOAD'),
"body": payloadData
}
try:
# try runnning a subprocess
p = subprocess.Popen(["curl","-i","-X", "POST" ,"-H", "Content-Type:application/json" ,"-d", json.dumps(_json_payload), get_setting_value('APPRISE_HOST')], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

View File

@@ -422,6 +422,38 @@
}
]
},
{
"function": "TARGETTYPE",
"type": {
"dataType": "string",
"elements": [
{ "elementType": "select", "elementOptions": [], "transformers": [] }
]
},
"default_value": "url",
"options": ["url", "tag"],
"localized": ["name", "description"],
"name": [
{
"language_code": "en_us",
"string": "Target type"
},
{
"language_code": "es_es",
"string": "Tipo de alvo"
}
],
"description": [
{
"language_code": "en_us",
"string": "Select the target type sent to Apprise."
},
{
"language_code": "es_es",
"string": "Seleccione el tipo de alvo enviada a Apprise."
}
]
},
{
"function": "URL",
"type": {