fix and refactoring
This commit is contained in:
parent
138676d3d8
commit
60121d3a6c
|
|
@ -6,23 +6,47 @@ URL="https://api.telegram.org/bot${TOKEN}/sendMessage?parse_mode=markdown"
|
|||
DATE="$(date +%d-%m-%Y\ %H:%M:%S)"
|
||||
TMP_INFO="/tmp/ssh_caption_file.txt"
|
||||
|
||||
if [ -z "$PAM_RHOST" ]; then
|
||||
exit 0
|
||||
fi
|
||||
send_notification() {
|
||||
local tmp_file="$1"
|
||||
local country city org
|
||||
|
||||
curl http://ip-api.com/json/"$PAM_RHOST" -s -o $TMP_INFO
|
||||
curl -s -m 5 "http://ip-api.com/json/$PAM_RHOST" -o "$tmp_file" >/dev/null 2>&1
|
||||
|
||||
COUNTRY=$( < $TMP_INFO jq '.country' | sed 's/"//g' )
|
||||
CITY=$( < $TMP_INFO jq '.city' | sed 's/"//g')
|
||||
ORG=$( < $TMP_INFO jq '.as' | sed 's/"//g')
|
||||
country=$(jq -r '.country // empty' "$tmp_file" 2>/dev/null) || country=""
|
||||
city=$(jq -r '.city // empty' "$tmp_file" 2>/dev/null) || city=""
|
||||
org=$(jq -r '.as // empty' "$tmp_file" 2>/dev/null) || org=""
|
||||
|
||||
if [ "$COUNTRY" = "null" ] || [ "$CITY" = "null" ] || [ "$ORG" = "null" ]; then
|
||||
TEXT=$(echo -e "📡Новое SSH подключение📡\n⌚*Время*: \`$DATE\`\n*На хост*\n🖥*Hostname:* \`$HOSTNAME\`\n👤*Username:* \`$PAM_USER\`\n*С адреса*\n🔎*Source IP:* \`$PAM_RHOST\`")
|
||||
if [ -z "$country" ] || [ -z "$city" ] || [ -z "$org" ]; then
|
||||
TEXT="📡 Новое SSH подключение\n"
|
||||
TEXT+="⌚ *Время*: \`$DATE\`\n"
|
||||
TEXT+="*На хост*\n"
|
||||
TEXT+="🖥 *Hostname:* \`$HOSTNAME\`\n"
|
||||
TEXT+="👤 *Username:* \`$PAM_USER\`\n"
|
||||
TEXT+="*С адреса*\n"
|
||||
TEXT+="🔎 *Source IP:* \`$PAM_RHOST\`"
|
||||
else
|
||||
TEXT=$(echo -e "📡Новое SSH подключение📡\n⌚*Время*: \`$DATE\`\n*На хост*\n🖥*Hostname:* \`$HOSTNAME\`\n👤*Username:* \`$PAM_USER\`\n*С адреса*\n🔎*Source IP:* \`$PAM_RHOST\`\n🌎*Country:* \`$COUNTRY\`\n🏙*City:* \`$CITY\`\n🕋*Organisation: *\`$ORG\`")
|
||||
TEXT="📡 Новое SSH подключение\n"
|
||||
TEXT+="⌚ *Время*: \`$DATE\`\n"
|
||||
TEXT+="*На хост*\n"
|
||||
TEXT+="🖥 *Hostname:* \`$HOSTNAME\`\n"
|
||||
TEXT+="👤 *Username:* \`$PAM_USER\`\n"
|
||||
TEXT+="*С адреса*\n"
|
||||
TEXT+="🔎 *Source IP:* \`$PAM_RHOST\`\n"
|
||||
TEXT+="🌎 *Country:* \`$country\`\n"
|
||||
TEXT+="🏙 *City:* \`$city\`\n"
|
||||
TEXT+="🕋 *Organisation:* \`$org\`"
|
||||
fi
|
||||
|
||||
curl "$URL" -d chat_id=$CHAT_ID -d text="${TEXT}"
|
||||
rm /tmp/ssh_caption_file.txt
|
||||
curl -s -m 10 -X POST "$URL" \
|
||||
-d chat_id="$CHAT_ID" \
|
||||
-d text="$TEXT" \
|
||||
-d parse_mode=Markdown >/dev/null 2>&1
|
||||
|
||||
exit
|
||||
rm -f "$tmp_file"
|
||||
}
|
||||
|
||||
if [ -n "$PAM_RHOST" ]; then
|
||||
( sleep 0.1; send_notification "$TMP_INFO" ) &
|
||||
fi
|
||||
|
||||
exit 0
|
||||
Loading…
Reference in New Issue
Block a user