#!/usr/bin/env bash

Arg1=$1

update_script() {
    wget scr.tyleo.dev/runner/wlcm-v2 -O /tmp/wlcm-v2
    sudo cp /tmp/wlcm-v2 /etc/profile.d/wlcm.sh
    rm -f /tmp/wlcm-v2
    sudo chmod +x /etc/profile.d/wlcm.sh
}

if [ $Arg1 = "--update" ]
then
    update_script
fi

# Script Version
SCRIPT_VER=2.2

## COLORS
# Reset
Color_Off='\033[0m'       # Text Reset

# Regular Colors
Black='\033[0;30m'        # Black
Red='\033[0;31m'          # Red
Green='\033[0;32m'        # Green
Yellow='\033[0;33m'       # Yellow
Blue='\033[0;34m'         # Blue
Purple='\033[0;35m'       # Purple
Cyan='\033[0;36m'         # Cyan
White='\033[0;37m'        # White

# Bold
BBlack='\033[1;30m'       # Black
BRed='\033[1;31m'         # Red
BGreen='\033[1;32m'       # Green
BYellow='\033[1;33m'      # Yellow
BBlue='\033[1;34m'        # Blue
BPurple='\033[1;35m'      # Purple
BCyan='\033[1;36m'        # Cyan
BWhite='\033[1;37m'       # White

# Underline
UBlack='\033[4;30m'       # Black
URed='\033[4;31m'         # Red
UGreen='\033[4;32m'       # Green
UYellow='\033[4;33m'      # Yellow
UBlue='\033[4;34m'        # Blue
UPurple='\033[4;35m'      # Purple
UCyan='\033[4;36m'        # Cyan
UWhite='\033[4;37m'       # White

# Background
On_Black='\033[40m'       # Black
On_Red='\033[41m'         # Red
On_Green='\033[42m'       # Green
On_Yellow='\033[43m'      # Yellow
On_Blue='\033[44m'        # Blue
On_Purple='\033[45m'      # Purple
On_Cyan='\033[46m'        # Cyan
On_White='\033[47m'       # White

# High Intensity
IBlack='\033[0;90m'       # Black
IRed='\033[0;91m'         # Red
IGreen='\033[0;92m'       # Green
IYellow='\033[0;93m'      # Yellow
IBlue='\033[0;94m'        # Blue
IPurple='\033[0;95m'      # Purple
ICyan='\033[0;96m'        # Cyan
IWhite='\033[0;97m'       # White

# Bold High Intensity
BIBlack='\033[1;90m'      # Black
BIRed='\033[1;91m'        # Red
BIGreen='\033[1;92m'      # Green
BIYellow='\033[1;93m'     # Yellow
BIBlue='\033[1;94m'       # Blue
BIPurple='\033[1;95m'     # Purple
BICyan='\033[1;96m'       # Cyan
BIWhite='\033[1;97m'      # White

# High Intensity backgrounds
On_IBlack='\033[0;100m'   # Black
On_IRed='\033[0;101m'     # Red
On_IGreen='\033[0;102m'   # Green
On_IYellow='\033[0;103m'  # Yellow
On_IBlue='\033[0;104m'    # Blue
On_IPurple='\033[0;105m'  # Purple
On_ICyan='\033[0;106m'    # Cyan
On_IWhite='\033[0;107m'   # White
######################

# Get CPU core count and frequency
cpu_cores=$(grep -c ^processor /proc/cpuinfo)
cpu_frequency=$(grep "cpu MHz" /proc/cpuinfo | head -n 1 | awk '{print $4}')
cpu_frequency_ghz=$(awk "BEGIN {printf \"%.2f\", $cpu_frequency / 1000}")

# Get memory information
mem_total=$(free -m | awk '/^Mem:/{print $2}')
mem_free=$(free -m | awk '/^Mem:/{print $7}')
mem_total_gb=$(awk "BEGIN {printf \"%.2f\", $mem_total/1024}")
mem_free_gb=$(awk "BEGIN {printf \"%.2f\", $mem_free/1024}")
mem_used_percent=$(free | awk '/^Mem:/{printf "%.0f", ($2-$7)*100/$2}')

clear
. /etc/os-release

RegFile="/etc/tyleo-reg"
if [ -f $RegFile ]; then
   . /etc/tyleo-reg
else
   TYLEO_PREG="UNREGISTERED"
   TYLEO_MACHINE_ID="Unknown"
fi

if [ $TYLEO_MACHINE_ID != "Unknown" ]
then
    REG_COLOR=$BIGreen
else
    REG_COLOR=$BIRed
    TYLEO_MACHINE_ID="Unknown, Use WS or Reg Script !"
fi

ip_address=$(hostname -i | awk '{print $1}')

echo -e "${BICyan}---------------------------------------------------------------------------${Color_Off}"
echo -e "${BICyan}|${Color_Off}${BIGreen} ___         __    _____ __     __  ${BICyan}|${Color_Off}$BIPurple  _                 _               ${BICyan}|${Color_Off}
${BICyan}|${Color_Off}${BIGreen}  |   | _ _ (_ \_/(_  | |_ |\/|(_   ${BICyan}|${Color_Off}$BIPurple |_)|_  _  _ ._ o  |_).__ o _  __|_ ${BICyan}|${Color_Off}
${BICyan}|${Color_Off}${BIGreen}  | \/|(-(_)__) | __) | |__|  |__)  ${BICyan}|${Color_Off}$BIPurple |  | |(_)(/_| ||><|  |(_)|(/_(_ |_ ${BICyan}|${Color_Off}
${BICyan}|${Color_Off}${BIGreen}    /    Make IT Happening          ${BICyan}|${Color_Off}$BIPurple            Just Do It!  _|  GEN4   ${BICyan}|${Color_Off}${Color_Off}"
echo -e "$BICyan---------------------------------------------------------------------------
${BICyan}| Name            :${Color_Off} ${UYellow}$HOSTNAME${Color_Off}
${BICyan}| Distribution    :${Color_Off} $PRETTY_NAME($NAME($ID))
${BICyan}| Current User    :${Color_Off} $(whoami)($UID)
${BICyan}| User Groups     :${Color_Off} $(groups)
${BICyan}| Connected Users :${Color_Off} $(users)
${BICyan}| First IP        :${Color_Off} ${UYellow}$ip_address${Color_Off}
${BICyan}| Registered      :${Color_Off} ${REG_COLOR}$TYLEO_PREG ($TYLEO_MACHINE_ID)${Color_Off}
${BICyan}| CPU Information :${Color_Off} $cpu_cores(Cores)($cpu_frequency(Freq),$cpu_frequency_ghz(Ghz))
${BICyan}| RAM Information :${Color_Off} $mem_total_gb(Gb)(free=$mem_free_gb(Gb),used=$mem_used_percent(%))
${BICyan}---------------------------------------------------------------------------${Color_Off}"