Skip to content

Commit

Permalink
docs: update README for manual installation
Browse files Browse the repository at this point in the history
  • Loading branch information
Yue, Zongkun committed Nov 5, 2024
1 parent 366b95c commit 30294cc
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 8 deletions.
11 changes: 3 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,16 +85,11 @@ sudo apt-get install globalprotect-openconnect
#### **Ubuntu 24.04 and later**

The `libwebkit2gtk-4.0-37` package was [removed](https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2061914) from its repo, before [the issue](https://github.com/yuezk/GlobalProtect-openconnect/issues/351) gets resolved, you need to install them manually:
The `libwebkit2gtk-4.0-37` package was [removed](https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2061914) from its repo. You can use the [`deb-install.sh`](./scripts/deb-install.sh) script to install the package:

```bash
wget http://launchpadlibrarian.net/704701349/libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb
wget http://launchpadlibrarian.net/704701345/libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb

sudo dpkg --install *.deb
```

And the latest package is not available in the PPA, you can follow the [Install from deb package](#install-from-deb-package) section to install the latest package.
curl -o- https://raw.githubusercontent.com/yuezk/GlobalProtect-openconnect/main/scripts/deb-install.sh | bash
```

#### **Ubuntu 18.04**

Expand Down
59 changes: 59 additions & 0 deletions scripts/deb-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/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."

0 comments on commit 30294cc

Please sign in to comment.