From cd3a5891e671dadbcfba089822dbafff0d42feab Mon Sep 17 00:00:00 2001 From: Patrick Niebeling Date: Mon, 28 Feb 2022 15:11:13 +0100 Subject: [PATCH] Add Multi Targets Signed-off-by: Patrick Niebeling --- rspamd-learn-ham-multi.sh | 28 ++++++++++++++++++++++++++++ rspamd-learn-ham.sh | 12 ++++++------ rspamd-learn-spam-multi.sh | 28 ++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 rspamd-learn-ham-multi.sh create mode 100644 rspamd-learn-spam-multi.sh diff --git a/rspamd-learn-ham-multi.sh b/rspamd-learn-ham-multi.sh new file mode 100644 index 0000000..f273c19 --- /dev/null +++ b/rspamd-learn-ham-multi.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +function log_error() { echo `date '+%Y-%m-%d %H:%M:%S'` ERROR: $1 >&2; } +function log() { echo `date '+%Y-%m-%d %H:%M:%S'` INFO: $1; } + +MAIL=$(tee) + +SERVER_LIST=("http://localhost:11334/learnham" "http://otherhost:11334/learnham") +PASSWORD="p455w0rD" + + +for SERVER in ${SERVER_LIST[@]}; do + log "Trying to report ham to ${SERVER}" + RETURN=$(/usr/bin/curl -s --connect-timeout 1 -H "Password: ${PASSWORD}" --data-binary --url "${SERVER}" -d "${MAIL}") + STATUS=$? + if [ $STATUS -eq 0 ]; then + log "Ham reported to ${SERVER}: ${RETURN}" + #exit 0 + else + log_error "Reporting SPAM failed ${SERVERS[@]}" + if [ $STATUS -eq 28 ]; then + log_error "Reporting Ham to ${SERVER} failed: Connection timed out." + else + log_error "Reporting Ham to ${SERVER} failed: CURL exit status ${STATUS}" + fi + fi +done +exit 1 \ No newline at end of file diff --git a/rspamd-learn-ham.sh b/rspamd-learn-ham.sh index 7ee0b33..30ff0fa 100644 --- a/rspamd-learn-ham.sh +++ b/rspamd-learn-ham.sh @@ -8,24 +8,24 @@ MAIL=$(tee) SERVER_LIST="['10.10.115.15', '10.10.115.16']" PASSWORD="p455w0rD" -SERVERS=($(python -c "from random import shuffle; server=${SERVER_LIST}; shuffle(server); print(' '.join(server))")) +SERVERS=($(python3 -c "from random import shuffle; server=${SERVER_LIST}; shuffle(server); print(' '.join(server))")) for SERVER in ${SERVERS[@]}; do - log "Trying to report spam to ${SERVER}" + log "Trying to report ham to ${SERVER}" RETURN=$(/usr/bin/curl -s --connect-timeout 1 -H "Password: ${PASSWORD}" --data-binary --url "http://${SERVER}:11334/learnham" -d "${MAIL}") STATUS=$? if [ $STATUS -eq 0 ]; then - log "Spam reported to ${SERVER}: ${RETURN}" + log "HAM reported to ${SERVER}: ${RETURN}" exit 0 else if [ $STATUS -eq 28 ]; then - log_error "Reporting SPAM to ${SERVER} failed: Connection timed out." + log_error "Reporting HAM to ${SERVER} failed: Connection timed out." else - log_error "Reporting SPAM to ${SERVER} failed: CURL exit status ${STATUS}" + log_error "Reporting HAM to ${SERVER} failed: CURL exit status ${STATUS}" fi fi done -log_error "Reporting SPAM failed ${SERVERS[@]}" +log_error "Reporting HAM failed ${SERVERS[@]}" exit 1 \ No newline at end of file diff --git a/rspamd-learn-spam-multi.sh b/rspamd-learn-spam-multi.sh new file mode 100644 index 0000000..3d3a5e9 --- /dev/null +++ b/rspamd-learn-spam-multi.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +function log_error() { echo `date '+%Y-%m-%d %H:%M:%S'` ERROR: $1 >&2; } +function log() { echo `date '+%Y-%m-%d %H:%M:%S'` INFO: $1; } + +MAIL=$(tee) + +SERVER_LIST=("http://localhost:11334/learnspam" "http://otherhost:11334/learnspam") +PASSWORD="p455w0rD" + + +for SERVER in ${SERVER_LIST[@]}; do + log "Trying to report spam to ${SERVER}" + RETURN=$(/usr/bin/curl -s --connect-timeout 1 -H "Password: ${PASSWORD}" --data-binary --url "${SERVER}" -d "${MAIL}") + STATUS=$? + if [ $STATUS -eq 0 ]; then + log "Spam reported to ${SERVER}: ${RETURN}" + #exit 0 + else + log_error "Reporting SPAM failed ${SERVERS[@]}" + if [ $STATUS -eq 28 ]; then + log_error "Reporting SPAM to ${SERVER} failed: Connection timed out." + else + log_error "Reporting SPAM to ${SERVER} failed: CURL exit status ${STATUS}" + fi + fi +done +exit 1 \ No newline at end of file