mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-02-22 12:29:39 +01:00
80 lines
2.8 KiB
Django/Jinja
80 lines
2.8 KiB
Django/Jinja
#!/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}\$ "
|
|
|