diff --git a/README.md b/README.md index f3e760c..4879a70 100644 --- a/README.md +++ b/README.md @@ -47,16 +47,30 @@ In commands You can use fields ``````, `````` and ````` #### *nix +##### send-mail + +**Usage:** ```send-mail recipient 'subject' 'message'``` + +Configuration file ```/etc/email.conf``` + +- ```Username:``` - Set e-mail user name here +- ```Password:``` - Set e-mail password here +- ```SMTP Server:``` - Set SMTP server address here +- ```Port:``` - Set SMTP port here ##### send-telegram -Next lines needs to be configured: +**Usage:** ```send-telegram 'message'``` -- ```GROUP_ID=``` - Set Telegram group ID here -- ```BOT_TOKEN=``` - Set Telegram token here +Configuration file ```/etc/telegram.conf``` + +- ```Group ID:``` - Set Telegram group ID here +- ```Bot token:``` - Set Telegram token here #### Windows ##### send-mail.ps1 +**Usage:** ```send-mail.ps1 recipient 'subject' 'message'``` + Next lines needs to be configured: - ```$EmailFrom = "yourmailadress@somedomain.com"``` - Set sender e-mail address here @@ -66,6 +80,8 @@ Next lines needs to be configured: ##### send-telegram.ps1 +**Usage:** ```send-telegram.ps1 'message'``` + - ```$Telegramtoken = "Your_Telegram_Token"``` - Set Telegram token here - ```$Telegramchatid = "Your_Telegram_Chat_ID"``` - Set Telegram chat ID here diff --git a/scripts/unix/cai-watchdog.conf.template b/scripts/unix/etc/cai-watchdog.conf.template similarity index 100% rename from scripts/unix/cai-watchdog.conf.template rename to scripts/unix/etc/cai-watchdog.conf.template diff --git a/scripts/unix/etc/email.conf.template b/scripts/unix/etc/email.conf.template new file mode 100644 index 0000000..c0120e1 --- /dev/null +++ b/scripts/unix/etc/email.conf.template @@ -0,0 +1,4 @@ +Username: user@domain.local +Password: str0ngP@$$word +SMTP Server: smtp.domain.local +Port: 465 \ No newline at end of file diff --git a/scripts/unix/etc/telegram.conf.template b/scripts/unix/etc/telegram.conf.template new file mode 100644 index 0000000..880ed67 --- /dev/null +++ b/scripts/unix/etc/telegram.conf.template @@ -0,0 +1,2 @@ +Group ID: Telegram_Group_ID +Bot token: Telegram_Bot_Token \ No newline at end of file diff --git a/scripts/unix/send-telegram.template b/scripts/unix/send-telegram.template deleted file mode 100644 index 51b98f4..0000000 --- a/scripts/unix/send-telegram.template +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -GROUP_ID= -BOT_TOKEN= - -# this 3 checks (if) are not necessary but should be convenient -if [ "$1" == "-h" ]; then - echo "Usage: `basename $0` \"text message\"" - exit 0 -fi - -if [ -z "$1" ] - then - echo "Add message text as second arguments" - exit 0 -fi - -if [ "$#" -ne 1 ]; then - echo "You can pass only one argument. For string with spaces put it on quotes" - exit 0 -fi - -curl -s --data "text=$1" --data "chat_id=$GROUP_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null \ No newline at end of file diff --git a/scripts/unix/usr/local/bin/send-mail.template b/scripts/unix/usr/local/bin/send-mail.template new file mode 100644 index 0000000..a522dbf --- /dev/null +++ b/scripts/unix/usr/local/bin/send-mail.template @@ -0,0 +1,42 @@ +#!/bin/bash + +rcpt=$1 +subj=$2 +message=$3 + +ARGS=$(xargs echo $(perl -anle 's/^[^:]+//g && s/:\s+//g && print' /etc/email.conf) < /dev/null) +set -- $ARGS "$@"; + +declare -A email; +email['user']=$1 +email['pass']=$2 +email['smtp']=$3 +email['port']=$4 + +email_content='From: "Watchdog" <'"${email['user']}"'> +To: "Subscriber" <'"${rcpt}"'> +Subject: '"${subj}"' +Date: '"$(date)"' + +'"${message}"' +----- +'"${HOSTNAME}"' +'; + + +echo "$email_content" | curl -s \ # -vvv \ + --url "smtps://${email['smtp']}:${email['port']}" \ + --user "${email['user']}:${email['pass']}" \ + --mail-from "${email['user']}" \ + --mail-rcpt "${rcpt}" \ + --upload-file - \ + -T - + + +if [[ $? == 0 ]]; then + echo; + echo 'okay'; +else + echo "curl error code $?"; + man curl | grep "^ \+$? \+" +fi diff --git a/scripts/unix/usr/local/bin/send-telegram.template b/scripts/unix/usr/local/bin/send-telegram.template new file mode 100644 index 0000000..3bc127a --- /dev/null +++ b/scripts/unix/usr/local/bin/send-telegram.template @@ -0,0 +1,29 @@ +#!/bin/bash + +SCRIPT_NAME=$0 +MESSAGE_TEXT=$1 + +if [ "$#" -ne 1 ]; then + echo "You can pass only one argument. For string with spaces put it on quotes" + exit 0 +fi + +ARGS=$(xargs echo $(perl -anle 's/^[^:]+//g && s/:\s+//g && print' /etc/email.conf) < /dev/null) +set -- $ARGS "$@"; + +GROUP_ID=$1 +BOT_TOKEN=$2 + +# this 3 checks (if) are not necessary but should be convenient +if [ "${MESSAGE_TEXT}" == "-h" ]; then + echo "Usage: `basename ${SCRIPT_NAME}` \"text message\"" + exit 0 +fi + +if [ -z "${MESSAGE_TEXT}" ] + then + echo "Add message text as second arguments" + exit 0 +fi + +curl -s --data "text=${MESSAGE_TEXT}" --data "chat_id=$GROUP_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null \ No newline at end of file