# !/bin/bash
# ████████╗░█████╗░██╗░░██╗░█████╗░██╗░░░██╗██████╗░███╗░░██╗
# ╚══██╔══╝██╔══██╗██║░██╔╝██╔══██╗██║░░░██║██╔══██╗████╗░██║
# ░░░██║░░░██║░░██║█████═╝░██║░░██║╚██╗░██╔╝██████╔╝██╔██╗██║
# ░░░██║░░░██║░░██║██╔═██╗░██║░░██║░╚████╔╝░██╔═══╝░██║╚████║
# ░░░██║░░░╚█████╔╝██║░╚██╗╚█████╔╝░░╚██╔╝░░██║░░░░░██║░╚███║
# ░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░╚═╝░░░░░╚═╝░░╚══╝

RED="\033[31m"
YELLOW="\033[33m"
NC='\e[0m'
YELL='\033[0;33m'
BRED='\033[1;31m'
GREEN='\033[0;32m'
ORANGE='\033[33m'
BGWHITE='\e[0;100;37m'

if [ -e "/var/log/auth.log" ]; then
        LOG="/var/log/auth.log";
fi
if [ -e "/var/log/secure" ]; then
        LOG="/var/log/secure";
fi
clear                
data=( `ps aux | grep -i dropbear | awk '{print $2}'`);
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo -e "\E[40;1;37m             USER LOGIN SSHWS             \E[0m"
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo -e "\E[40;1;37mID   |  Username        |  IP Address     ${NC}";
echo -e "\e[33m──────────────────────────────────────────${NC}"
cat $LOG | grep -i dropbear | grep -i "Password auth succeeded" > /tmp/login-db.txt;
for PID in "${data[@]}"
do
            cat /tmp/login-db.txt | grep "dropbear\[$PID\]" > /tmp/login-db-pid.txt;
            NUM=`cat /tmp/login-db-pid.txt | wc -l`;
            USER=$(cat /tmp/login-db-pid.txt | awk '{print $10}' | tr -d "'");
            IP=`cat /tmp/login-db-pid.txt | awk '{print $12}'`;
            if [ $NUM -eq 1 ]; then
                    printf "%-6s %-19s %2s \n" "$PID" " $USER" "$IP";
                    echo -e "\e[33m──────────────────────────────────────────${NC}"
                    fi
done
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo -e "\E[40;1;37m           USER LOGIN SSL & UDP           \E[0m"
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo -e "\E[40;1;37mID   |  Username        |  IP Address     ${NC}";
echo -e "\e[33m──────────────────────────────────────────${NC}"
cat $LOG | grep -i sshd | grep -i "Accepted password for" > /tmp/login-db.txt
data=( `ps aux | grep "\[priv\]" | sort -k 72 | awk '{print $2}'`);

for PID in "${data[@]}"
do
            cat /tmp/login-db.txt | grep "sshd\[$PID\]" > /tmp/login-db-pid.txt;
            NUM=`cat /tmp/login-db-pid.txt | wc -l`;
            USER=$(cat /tmp/login-db-pid.txt | awk '{print $10}' | tr -d "'");
            IP=`cat /tmp/login-db-pid.txt | awk '{print $11}'`;
            if [ $NUM -eq 1 ]; then
                    printf "%-6s %-19s %2s \n" "$PID" " $USER" "$IP";
                    echo -e "\e[33m──────────────────────────────────────────${NC}"
        fi
done
echo -e "\e[33m──────────────────────────────────────────${NC}"
if [ -f "/etc/openvpn/server/openvpn-tcp.log" ]; then
echo -e ""
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo -e "\E[40;1;37mID   |  Username       |   IP Address     ${NC}";
echo -e "\e[33m──────────────────────────────────────────${NC}"
            cat /etc/openvpn/server/openvpn-tcp.log | grep -w "^CLIENT_LIST" | cut -d ',' -f 2,3,8 | sed -e 's/,/      /g' > /tmp/vpn-login-tcp.txt
            cat /tmp/vpn-login-tcp.txt
fi
echo -e "\e[33m──────────────────────────────────────────${NC}"

if [ -f "/etc/openvpn/server/openvpn-udp.log" ]; then
echo " "
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo -e "\E[40;1;37mID   |  Username       |   IP Address     ${NC}";
echo -e "\e[33m──────────────────────────────────────────${NC}"
            cat /etc/openvpn/server/openvpn-udp.log | grep -w "^CLIENT_LIST" | cut -d ',' -f 2,3,8 | sed -e 's/,/      /g' > /tmp/vpn-login-udp.txt
            cat /tmp/vpn-login-udp.txt
fi
echo -e "\e[33m──────────────────────────────────────────${NC}"
echo ""