chore(kasmvnc): refactor download logic to support multiple tools (#323)

pull/322/head^2
Muhammad Atif Ali 7 months ago committed by GitHub
parent 48c81c9ff4
commit 9752bf89a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -12,10 +12,26 @@ check_installed() {
fi fi
} }
# Function to download a file using wget, curl, or busybox as a fallback
download_file() {
local url=$1
local output=$2
if command -v wget &> /dev/null; then
wget $url -O $output
elif command -v curl &> /dev/null; then
curl -L $url -o $output
elif command -v busybox &> /dev/null; then
busybox wget -O $output $url
else
echo "Neither wget, curl, nor busybox is installed. Please install one of them to proceed."
exit 1
fi
}
# 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
wget $url -O /tmp/kasmvncserver.deb download_file $url /tmp/kasmvncserver.deb
sudo apt-get install --yes --no-install-recommends --no-install-suggests /tmp/kasmvncserver.deb sudo apt-get install --yes --no-install-recommends --no-install-suggests /tmp/kasmvncserver.deb
sudo adduser $USER ssl-cert sudo adduser $USER ssl-cert
rm /tmp/kasmvncserver.deb rm /tmp/kasmvncserver.deb
@ -24,7 +40,7 @@ install_deb() {
# Function to install kasmvncserver for Oracle 8 # Function to install kasmvncserver for Oracle 8
install_rpm_oracle8() { install_rpm_oracle8() {
local url=$1 local url=$1
wget $url -O /tmp/kasmvncserver.rpm download_file $url /tmp/kasmvncserver.rpm
sudo dnf config-manager --set-enabled ol8_codeready_builder sudo dnf config-manager --set-enabled ol8_codeready_builder
sudo dnf install oracle-epel-release-el8 -y sudo dnf install oracle-epel-release-el8 -y
sudo dnf localinstall /tmp/kasmvncserver.rpm -y sudo dnf localinstall /tmp/kasmvncserver.rpm -y
@ -35,7 +51,7 @@ install_rpm_oracle8() {
# Function to install kasmvncserver for CentOS 7 # Function to install kasmvncserver for CentOS 7
install_rpm_centos7() { install_rpm_centos7() {
local url=$1 local url=$1
wget $url -O /tmp/kasmvncserver.rpm download_file $url /tmp/kasmvncserver.rpm
sudo yum install epel-release -y sudo yum install epel-release -y
sudo yum install /tmp/kasmvncserver.rpm -y sudo yum install /tmp/kasmvncserver.rpm -y
sudo usermod -aG kasmvnc-cert $USER sudo usermod -aG kasmvnc-cert $USER
@ -45,7 +61,7 @@ install_rpm_centos7() {
# 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
wget $url -O /tmp/kasmvncserver.rpm download_file $url /tmp/kasmvncserver.rpm
sudo rpm -i /tmp/kasmvncserver.rpm sudo rpm -i /tmp/kasmvncserver.rpm
rm /tmp/kasmvncserver.rpm rm /tmp/kasmvncserver.rpm
} }
@ -53,7 +69,7 @@ install_rpm() {
# Function to install kasmvncserver for Alpine Linux # Function to install kasmvncserver for Alpine Linux
install_alpine() { install_alpine() {
local url=$1 local url=$1
wget $url -O /tmp/kasmvncserver.tgz download_file $url /tmp/kasmvncserver.tgz
tar -xzf /tmp/kasmvncserver.tgz -C /usr/local/bin/ tar -xzf /tmp/kasmvncserver.tgz -C /usr/local/bin/
rm /tmp/kasmvncserver.tgz rm /tmp/kasmvncserver.tgz
} }

Loading…
Cancel
Save