| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -58,8 +58,10 @@ add_user_to_group() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					# Function to install kasmvncserver for debian-based distros
 | 
					 | 
					 | 
					 | 
					# Function to install kasmvncserver for debian-based distros
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					install_deb() {
 | 
					 | 
					 | 
					 | 
					install_deb() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  local url=$1
 | 
					 | 
					 | 
					 | 
					  local url=$1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  download_file "$url" /tmp/kasmvncserver.deb
 | 
					 | 
					 | 
					 | 
					  local kasmdeb="/tmp/kasmvncserver.deb"
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # Define the directory to check
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  download_file "$url" "$kasmdeb"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  CACHE_DIR="/var/lib/apt/lists/partial"
 | 
					 | 
					 | 
					 | 
					  CACHE_DIR="/var/lib/apt/lists/partial"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  # Check if the directory exists and was modified in the last 60 minutes
 | 
					 | 
					 | 
					 | 
					  # Check if the directory exists and was modified in the last 60 minutes
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if [[ ! -d "$CACHE_DIR" ]] || ! find "$CACHE_DIR" -mmin -60 -print -quit &> /dev/null; then
 | 
					 | 
					 | 
					 | 
					  if [[ ! -d "$CACHE_DIR" ]] || ! find "$CACHE_DIR" -mmin -60 -print -quit &> /dev/null; then
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -67,25 +69,57 @@ install_deb() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # Update package cache with a 300-second timeout for dpkg lock
 | 
					 | 
					 | 
					 | 
					    # Update package cache with a 300-second timeout for dpkg lock
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    sudo apt-get -o DPkg::Lock::Timeout=300 -qq update
 | 
					 | 
					 | 
					 | 
					    sudo apt-get -o DPkg::Lock::Timeout=300 -qq update
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  fi
 | 
					 | 
					 | 
					 | 
					  fi
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  DEBIAN_FRONTEND=noninteractive sudo apt-get -o DPkg::Lock::Timeout=300 install --yes -qq --no-install-recommends --no-install-suggests /tmp/kasmvncserver.deb
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  DEBIAN_FRONTEND=noninteractive sudo apt-get -o DPkg::Lock::Timeout=300 install --yes -qq --no-install-recommends --no-install-suggests "$kasmdeb"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  rm "$kasmdeb"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  add_user_to_group "$USER" ssl-cert
 | 
					 | 
					 | 
					 | 
					  add_user_to_group "$USER" ssl-cert
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  rm /tmp/kasmvncserver.deb
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					# Function to install kasmvncserver for rpm-based distros
 | 
					 | 
					 | 
					 | 
					# Function to install kasmvncserver for rpm-based distros
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					install_rpm() {
 | 
					 | 
					 | 
					 | 
					install_rpm() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  local url=$1
 | 
					 | 
					 | 
					 | 
					  local url=$1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  download_file "$url" /tmp/kasmvncserver.rpm
 | 
					 | 
					 | 
					 | 
					  local kasmrpm="/tmp/kasmvncserver.rpm"
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  sudo dnf localinstall /tmp/kasmvncserver.rpm
 | 
					 | 
					 | 
					 | 
					  local package_manager
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  rm /tmp/kasmvncserver.rpm
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  if command -v dnf &> /dev/null; then
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    # shellcheck disable=SC2034
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    package_manager=(dnf localinstall -y)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  elif command -v zypper &> /dev/null; then
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    # shellcheck disable=SC2034
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    package_manager=(zypper install -y)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  elif command -v yum &> /dev/null; then
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    # shellcheck disable=SC2034
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    package_manager=(yum localinstall -y)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  elif command -v rpm &> /dev/null; then
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    # Do we need to manually handle missing dependencies?
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    # shellcheck disable=SC2034
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    package_manager=(rpm -i)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    echo "ERROR: No supported package manager available (dnf, zypper, yum, or rpm required)"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    exit 1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  fi
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  download_file "$url" "$kasmrpm"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  # shellcheck disable=SC2288
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  sudo "$${package_manager[@]}" "$kasmrpm" || {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    echo "ERROR: Failed to install $kasmrpm"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    exit 1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  rm "$kasmrpm"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					# Function to install kasmvncserver for Alpine Linux
 | 
					 | 
					 | 
					 | 
					# Function to install kasmvncserver for Alpine Linux
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					install_alpine() {
 | 
					 | 
					 | 
					 | 
					install_alpine() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  local url=$1
 | 
					 | 
					 | 
					 | 
					  local url=$1
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  download_file "$url" /tmp/kasmvncserver.tgz
 | 
					 | 
					 | 
					 | 
					  local kasmtgz="/tmp/kasmvncserver.tgz"
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  tar -xzf /tmp/kasmvncserver.tgz -C /usr/local/bin/
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  rm /tmp/kasmvncserver.tgz
 | 
					 | 
					 | 
					 | 
					  download_file "$url" "$kasmtgz"
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  tar -xzf "$kasmtgz" -C /usr/local/bin/
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  rm "$kasmtgz"
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					# Detect system information
 | 
					 | 
					 | 
					 | 
					# Detect system information
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |