GlobalProtect-openconnect/scripts/deb-install.sh
2024-11-05 23:25:38 +08:00

60 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
# Usage: ./deb-install.sh <version>
usage() {
echo "Usage: $0 <version>"
echo "Example: $0 2.3.9"
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
VERSION=$1
# Check the architecture, only support x86_64 and aarch64/arm64
ARCH=$(uname -m)
# Normalize the architecture name
if [ "$ARCH" == "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "arm64" ]; then
ARCH="arm64"
else
echo "Unsupported architecture: $ARCH"
exit 1
fi
LIB_JAVASCRIPT_x86="http://launchpadlibrarian.net/704701345/libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb"
LIB_WEBKIT_x86="http://launchpadlibrarian.net/704701349/libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb"
LIB_JAVASCRIPT_arm="http://launchpadlibrarian.net/704735771/libjavascriptcoregtk-4.0-18_2.43.3-1_arm64.deb"
LIB_WEBKIT_arm="http://launchpadlibrarian.net/704735777/libwebkit2gtk-4.0-37_2.43.3-1_arm64.deb"
DEB_URL="https://github.com/yuezk/GlobalProtect-openconnect/releases/download/v${VERSION}/globalprotect-openconnect_${VERSION}-1_${ARCH}.deb"
# Install the dependencies
if [ "$ARCH" == "amd64" ]; then
wget -O /tmp/libjavascriptcoregtk.deb $LIB_JAVASCRIPT_x86
wget -O /tmp/libwebkit2gtk.deb $LIB_WEBKIT_x86
else
wget -O /tmp/libjavascriptcoregtk.deb $LIB_JAVASCRIPT_arm
wget -O /tmp/libwebkit2gtk.deb $LIB_WEBKIT_arm
fi
sudo dpkg -i /tmp/libjavascriptcoregtk.deb /tmp/libwebkit2gtk.deb
# Install the package
wget -O /tmp/globalprotect-openconnect.deb $DEB_URL
sudo apt install --fix-broken -y /tmp/globalprotect-openconnect.deb
# Clean up
rm /tmp/libjavascriptcoregtk.deb /tmp/libwebkit2gtk.deb /tmp/globalprotect-openconnect.deb
echo ""
echo "GlobalProtect OpenConnect VPN client has been installed successfully."