Skip to content

Commit 9752bf8

Browse files
authored
chore(kasmvnc): refactor download logic to support multiple tools (#323)
1 parent 48c81c9 commit 9752bf8

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

kasmvnc/run.sh

+21-5
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,26 @@ check_installed() {
1212
fi
1313
}
1414

15+
# Function to download a file using wget, curl, or busybox as a fallback
16+
download_file() {
17+
local url=$1
18+
local output=$2
19+
if command -v wget &> /dev/null; then
20+
wget $url -O $output
21+
elif command -v curl &> /dev/null; then
22+
curl -L $url -o $output
23+
elif command -v busybox &> /dev/null; then
24+
busybox wget -O $output $url
25+
else
26+
echo "Neither wget, curl, nor busybox is installed. Please install one of them to proceed."
27+
exit 1
28+
fi
29+
}
30+
1531
# Function to install kasmvncserver for debian-based distros
1632
install_deb() {
1733
local url=$1
18-
wget $url -O /tmp/kasmvncserver.deb
34+
download_file $url /tmp/kasmvncserver.deb
1935
sudo apt-get install --yes --no-install-recommends --no-install-suggests /tmp/kasmvncserver.deb
2036
sudo adduser $USER ssl-cert
2137
rm /tmp/kasmvncserver.deb
@@ -24,7 +40,7 @@ install_deb() {
2440
# Function to install kasmvncserver for Oracle 8
2541
install_rpm_oracle8() {
2642
local url=$1
27-
wget $url -O /tmp/kasmvncserver.rpm
43+
download_file $url /tmp/kasmvncserver.rpm
2844
sudo dnf config-manager --set-enabled ol8_codeready_builder
2945
sudo dnf install oracle-epel-release-el8 -y
3046
sudo dnf localinstall /tmp/kasmvncserver.rpm -y
@@ -35,7 +51,7 @@ install_rpm_oracle8() {
3551
# Function to install kasmvncserver for CentOS 7
3652
install_rpm_centos7() {
3753
local url=$1
38-
wget $url -O /tmp/kasmvncserver.rpm
54+
download_file $url /tmp/kasmvncserver.rpm
3955
sudo yum install epel-release -y
4056
sudo yum install /tmp/kasmvncserver.rpm -y
4157
sudo usermod -aG kasmvnc-cert $USER
@@ -45,15 +61,15 @@ install_rpm_centos7() {
4561
# Function to install kasmvncserver for rpm-based distros
4662
install_rpm() {
4763
local url=$1
48-
wget $url -O /tmp/kasmvncserver.rpm
64+
download_file $url /tmp/kasmvncserver.rpm
4965
sudo rpm -i /tmp/kasmvncserver.rpm
5066
rm /tmp/kasmvncserver.rpm
5167
}
5268

5369
# Function to install kasmvncserver for Alpine Linux
5470
install_alpine() {
5571
local url=$1
56-
wget $url -O /tmp/kasmvncserver.tgz
72+
download_file $url /tmp/kasmvncserver.tgz
5773
tar -xzf /tmp/kasmvncserver.tgz -C /usr/local/bin/
5874
rm /tmp/kasmvncserver.tgz
5975
}

0 commit comments

Comments
 (0)