#!/bin/bash # Set color variables for the welcome text based on the current user if [ "$USER" = "root" ]; then HEADER_COLOR="\033[1;31m" # Bold red for root elif [ "$USER" = "administrator" ]; then HEADER_COLOR="\033[1;38;5;208m" # Bold orange for administrator else HEADER_COLOR="\033[1;33m" # Bold yellow for other users fi RESET_COLOR="\033[0m" # Color code for the hostname (set to green, bold, underlined, and blinking) # (Note: \[ and \] are used for PS1 only; for echo, use plain escapes) HOSTNAME_COLOR="\033[1;4;5;32m" clear # Primary IP (determined via default route) PRIMARY_IP=$(ip route get 8.8.8.8 2>/dev/null | awk '{print $7}' | head -n1) # Print welcome message echo -e "${HEADER_COLOR}Welcome, $USER on ${HOSTNAME_COLOR}$HOSTNAME!${RESET_COLOR}" echo -e "Primary IP Address: ${PRIMARY_IP}" echo -e "${HEADER_COLOR}Today is $(date +"%A, %d.%m.%Y %T")${RESET_COLOR}" echo -e "\033[94mPowered by: CyMaIS - Cyber Master Infrastructure Solutions!" echo -e "\033[1;31mWARNING: This software is not to be used for generating commercial profits.\033[94m" echo -e "If you require a license for commercial use, please contact Kevin Veen-Birkenbach, the author and copyright holder.\n" echo -e "More Information:" echo -e "- About CyMaIS: \033[35mhttps://s.veen.world/cymais\033[94m" echo -e "- About the author: \033[35mhttps://www.veen.world\033[94m" echo "" # System Load (shows load averages and uptime) echo -e "${HEADER_COLOR}System Load:${RESET_COLOR}" uptime echo "" # Memory Usage (RAM and swap) echo -e "${HEADER_COLOR}Memory Usage:${RESET_COLOR}" free -h echo "" # Disk Usage echo -e "${HEADER_COLOR}Disk Usage:${RESET_COLOR}" df -h echo "" # CPU Information (e.g., model name) echo -e "${HEADER_COLOR}CPU Information:${RESET_COLOR}" lscpu | grep "Model name" echo "" # Top 5 Processes by CPU Usage echo -e "${HEADER_COLOR}Top 5 Processes by CPU Usage:${RESET_COLOR}" ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6 echo "" # Set aliases for colored output for ls and grep alias ls='ls --color=auto' alias grep='grep --color=auto' # --- Prompt Configuration --- # Define color codes for the username in the prompt based on the current user if [ "$USER" = "root" ]; then PROMPT_USER_COLOR="\[\033[4;5;1;31m\]" # Underlined, bold red for root elif [ "$USER" = "administrator" ]; then PROMPT_USER_COLOR="\[\033[4;38;5;208m\]" # Underlined, bold orange for administrator else PROMPT_USER_COLOR="\[\033[33m\]" # Yellow for other users fi # Reset code for the prompt (must be wrapped in \[ \]) PROMPT_RESET="\[\033[0m\]" # Configure PS1: username, hostname in green, time and current directory PS1="${PROMPT_USER_COLOR}\u${PROMPT_RESET}@\[\033[1;4;5;32m\]\h${PROMPT_RESET} \[\033[90m\]\$(date +%H:%M:%S)\[\033[0m\]:\[\033[38;5;13m\]\w ${PROMPT_RESET}\$ "